关于组合数学

来源:互联网 发布:c语言输入输出 编辑:程序博客网 时间:2024/05/30 07:12

组合数学最离不开的就是Cnm这个东西了,有时候怎么快速的求变很重要。当n,m都很大的时候,如果直接递归求解做不到


那么:

最后因为要转化成整型,所以结果要+=0.5才行

void C(unsigned int n,unsigned int m)
{
double ans=1.0;
while(m>0)
{
ans*=(double)(n--)/(double)(m--); 

ans+=0.5;//double转化为整型会强制截断小数 
printf("%I64d\n",(long long)ans);
}


原创粉丝点击