C(m,n)=m!/(n!*(m-n)!)
比如说,从新班级的10个人中选出3个人参加乒乓赛,共有不同的方案数:
C(10,3)=10!/(7!*3!)=10*9*8/(1*2*3)= 120 (种)
n的阶乘,就是从1开始乘到n,即1*2*3*...*(n-1)*n。即n!=1*2*3*...*(n-1)*n。
而(n-1)!=1*2*3*...*(n-1)。
所以可以得出,n!=(n-1)!
*
n。
由这个概念,可以得出递归求阶乘函数fact的算法:
1
如果传入参数为0或1,返回1;
2
对于任意的n,返回n*fact(n-1)。
代码如下:
int fact(int n)
{
if(n == 0 || n == 1) return 1
return n*(fact(n-1))
}