我们知道组合数公式: C(n, k) =C(n-1, k) +C(n-1, k-1) 要求利用该公式写递归函数求组合数。

输入
输入有多组数据。
每组数据一行,每行两个非负整数 n 和 k ,其中 k ≤ n ≤ 12。

输出
每组输入产生一行输出,即 C(n, k) 的值。

代码如下:

#include <stdio.h>

int C(int a,int b)
{
    if(a==b||b==0)
        return 1;
    else
        return C(a-1,b)+C(a-1,b-1);
}
int main()
{
    int n,k;
    int s;
    while(scanf("%d%d",&n,&k)!=EOF)
    {
       s=C(n,k);
       printf("%d\n",s);
    }
    return 0;
}

发布了32 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/rating_/article/details/84034728