文章来自: http://www.cppblog.com/DGQKing/archive/2011/11/10/159922.html
题目描述:
简单的事情
Time Limit:1000MS Memory Limit:32768K
Description:
数学天才fans曾经说过一句话:组合数的计算是一件非常简单的事情。组合数的计算真的是一件非常简单的事情吗?请你自己去尝试一下吧!
Input:
输入中的一些整数对n,m(m≤n≤20)
Output:
输出其组合数。
Sample Input:
5 2
18 13
Sample Output:
10
8568
解题思路:c[n][m] = c[n-1][m-1]+c[n-1][m];
源代码:
#include<iostream>
using namespace std;
int c[21][21];
int main()
{
int n,m;
for(int i=0;i<=20;i++){
c[i][0] = 1;
}
for(int i=1;i<=20;i++){
c[i][i] = 1;
}
for(int i=2;i<=20;i++){
for(int j=1;j<i;j++){
c[i][j] = c[i-1][j-1]+c[i-1][j];
}
}
while(scanf("%d%d",&n,&m)!=EOF){
printf("%d\n",c[n][m]);
}
return 0;
}