C语言 求组合数,,用递归方法
最好有点讲解,,麻烦大神们码一下代码吧。。。就是n个数取k个数有几种情况,,Ckn,,与之相对的是排列数...
最好有点讲解,,麻烦大神们码一下代码吧。。。
就是n个数取k个数有几种情况,,Ckn,,与之相对的是排列数 展开
就是n个数取k个数有几种情况,,Ckn,,与之相对的是排列数 展开
2个回答
展开全部
举个例子 不太明白是什么组合数
补充======
说白了就是求阶乘
fun是阶乘函数
直接调用即可
#include <stdio.h>
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;
}
补充======
说白了就是求阶乘
fun是阶乘函数
直接调用即可
#include <stdio.h>
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询