#include
long cmn(int,int);
long jc(int n);
int main()
{
int n,m;
printf("input m and n:\n");
scanf("%d%d",&m,&n);
printf("cmn=%ld\n",cmn(m,n));
return 0;
}
long jc(int n)
{
long sum=1;
int x=1;
for(;x<=n;x++)
{
sum*=x;
}
return sum;
}
long cmn(int m,int n)
{
return jc(m)/(jc(n)*jc(m-n));
}
阶乘不是一般的大,long也就是19位(10进制)
20! = 2432902008176640000 就差不多到头了
100!你知道有多大么?请看结果
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000