读书人

简略计算求组合数 Binomial Showdown

发布时间: 2013-01-26 13:47:01 作者: rapoo

简单计算求组合数 Binomial Showdown

#include <stdio.h>int main(){    double n,k;    while(scanf("%lf%lf",&n,&k)==2)    {        if(n==0&&k==0) break;        double ans=1;        if(2*k>n) k=n-k;//注意优化        while(k>=1)//分子是n*n-1*...*n-k+1 共k项,分母是k*k-1*...*1共k项,所以复杂度取决于k的大小        {            ans*=n/k;            n--,k--;        }        printf("%.0lf\n",ans);    }    return 0;}

读书人网 >编程

热点推荐