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
0 0
Sample Output
10
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;
}