例题:
题目描述
数学天才fans曾经说过一句话:组合数的计算是一件非常简单的事情。组合数的计算真的是一件非常简单的事情吗?请你自己去尝试一下吧!
输入描述
输入中的一些整数对n,m(m≤n≤20)
输出描述
输出其组合数。
样例输入
5 2
18 13
样例输出
10
8568
思路分析:
1.多组数据的输入输出,用EOF法。
2.用递归实现求m和n的组合数,关键在于找到递归公式
如下图:
AC代码
#include <stdio.h>
int C(int n,int m)//递归实现求m和n的组合数
{
if(m==0)
{
return 1;
}
if(n==m)
{
return 1;
}
if(m==1)
{
return n;
}
return C(n-1,m-1)+C(n-1,m);
}
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)//多组数据的输入输出
{
printf("%d\n",C(n,m));
}
return 0;
}