C语言,在线等,急 题目 利用阶乘函数计算组合数本题要求实现2个自定义函数:求组合数函数和求阶乘函数。

函数接口定义:int comb(int m,int n);int fac(int x);裁判测试程序样例:#include<stdio.h>int comb(int m,int n);int fac(int x); int main(void){ int a,b; while(scanf("%d %d",&a,&b)!=EOF) printf("%d\n",comb(a,b));}/* 你的代码将被嵌在这里 */输入测试数据有多组,处理到输入结束输出每行一个输出结果。样例输入6 35 1样例输出205

int comb(int n, int m)

{

return fac(m)/ (fac(n) * fac(m-n));

}

 int fac(int n)

{

 int result=1,i;

for (i=1;i<=n;i++)

result *= i;

return result;

}

扩展资料:

由fxccommercial提出,系fxccommercial本人发现abcd=a*a!+b*b!+c*c!+d*d!并归纳整理成为一个新的数学定理猜想。

这个公式描述的是,从大到小排列的n+1个数,对每个数取n次方,用(-1)^nC_n^k做系数,实现奇偶项数的差项和,则这列数的和为n!,目前fxccommercial已得到一个关于他的推论,经验证是正确的。

参考资料来源:百度百科-阶乘数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-12
int comb(int n, int m)
{
    return fac(m)/ (fac(n) * fac(m-n));
}

int fac(int n)
{
    int result=1,i;
    for (i=1;i<=n;i++)
        result *= i;
    return result;
}

本回答被提问者采纳
相似回答