BitComet 旗下网站

转到日志 acm of zju

zju1938

楼主 发表于:2008-05-07 08:07:07 [回复]

#include<iostream>//Binomial Showdown
using namespace std;//2008.5.7 07:35:55 Accepted 1938 C++ 00:00.00 836K 天将降大任于我
int main()
{
 int n,k;
 while(scanf("%d%d",&n,&k)!=EOF)   //排列组合问题
 {  
  if(n==0&&k==0) break;
  double m=1;
  if(k>n/2) k=n-k;
  for(int i=1;i<=k;i++)
        m*=(double)(n-k+i)/i*1.000000000001;  //转换为double型再相除(当多次相除累加时)会造成精度损失,(当数位较多时就可看出区别)
  printf("%d\n",(int)m);                  //故要乘以个1.0000 0000 0001;
 }                      //输出时只有将m转换为int型,最后输出结果才会所有位数都输出,如还保留double
 return 0;               //最后将以科学计数法的方式输出,得不到应有的答案
}

心难泰,世风坏,旧时正气今何在?正义寡,人情薄,闻道虽多,茅塞不开。怪!怪!怪! 空等待,几多载,冲出重围人心快!暴雨打,狂风袭,任他折磨,此志难改。耐!耐!耐!

1楼 发表于:2008-07-21 18:34:08 [回复]

不错的说

Something ends, something begins, and something never changes......

登录后发贴