我们经常会遇到计算组合数的问题,以下为根据组合数公式直接计算的方法。
#include <stdio.h>
#include <stdlib.h>
long Fact(long n){
//计算阶乘
if (n==0 || n==1) return 1;
return n*Fact(n-1);
}
long Comb(int m,int k){
//计算组合数
return Fact(m)/(Fact(k)*Fact(m-k));
}
int main()
{
int m,k;
scanf("%d %d",&m,&k);
printf("%ld",Comb(m,k));
return 0;
}