3836. 计算组合数
Description
从n个不同物品中选出m个的选法总数用组合数C(n, m)来表示. 已知n和m,求C(n, m)的值.
Input
输入包含多组测试数据.
输入的每行是两个整数n和m(0<=m<=n<=10).
m和n都为0时表示输入结束.
Output
输出的每行是一个C(n, m)的值.
Sample Input
5 2
3 1
10 10
10
3
Description
从n个不同物品中选出m个的选法总数用组合数C(n, m)来表示. 已知n和m,求C(n, m)的值.
Input
输入包含多组测试数据.
输入的每行是两个整数n和m(0<=m<=n<=10).
m和n都为0时表示输入结束.
Output
输出的每行是一个C(n, m)的值.
Sample Input
5 2
3 1
10 10
0 0
Sample Output10
3
1
// source code of submission 967531, Zhongshan University Online Judge System
#include <iostream>
using namespace std;
int step(int n)
{
int sum = 1;
if ( n == 1 )
return 1;
else
{
for(int i = 2;i <= n; i++)
{
sum *= i;
}
return sum;
}
}
int main()
{
int n,m,result;
while (cin >> n >> m)
{
if( n == 0&& m == 0)
return 0;
else
{
result = step(n) / (step(n-m) * step(m) );
cout << result << endl;
}
}
return 0;
}