急需知道一个小程序,帮我解释一下这个小函数的作用?

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:02:47
int comm(int n,int k)
{
if(k>n) return 0;
else if(n==k||k==0)
return 1;
else
return comm(n-1,k)+comm(n-1,k-1);

}
题目说此函数是组合的意思!不过我希望知道它是怎么组合的?如何得出组合运算的,谢谢!

递归呀,你把自己当成计算机,假设两个数来做n和k,一句一句的执行一下就明白了,这个怎么解释嘛,莫非又去粘贴教材?

是个递归嘛

应该是
n + (n - 1) ... + 1
k + (k - 1) ... + 1

求总和

C(n,k) = C(n,k-1) + C(n-1,k-1)
递归算到到C(0,0)

二项分布的组合递归