C语言 求组合数,,用递归方法

2025-02-26 19:25:58
推荐回答(2个)
回答1:

举个例子 不太明白是什么组合数
补充======
说白了就是求阶乘
fun是阶乘函数
直接调用即可

#include

long sum=0;//组合数结果
long fun(int i) //阶乘
{
If(n==1)
return 1 ; /*递归出口*/
else
return i*fun(i-1); /*递归体*/
}

long com(int n, int m)
{
sum=fun(m)/fun(n)*fun(m-n);
return sum;
}
int main(void)
{
int m=9,n=4;
printf("%l" , com(4,9));
return 0;
}

回答2:

int Com(int x,int y)//求组合数C(x,y)
{if (y==0 || x==y)
return 1;
else
return Com(x-1,y)+Com(x-1,y-1);
}