您的位置:首页 > 其它

Binomial Showdown

2008-05-03 00:10 267 查看
In how many ways can you choose k elements out of n elements, not taking order into account?
Write a program to compute this number.

Input Specification

The input file will contain one or more test cases.
Each test case consists of one line containing two integers n (n≥1) and k (0≤k≤n).
Input is terminated by two zeroes for n and k.

Output Specification

For each test case, print one line containing the required number. This number will always fit into an integer, i.e. it will be less than 231.
Warning: Don't underestimate the problem. The result will fit into an integer - but if all intermediate results arising during the computation will also fit into an integer depends on your algorithm. The test cases will go to the limit.

Sample Input

4 2
10 5
49 6
0 0


Sample Output

6
252
13983816


Source: University of Ulm Local Contest 1997

my c++ code:

#include <iostream>

using namespace std;

int main()

{

int n,m;

int i ;

int sum ;

while(scanf("%d %d",&n ,&m ) != EOF )

{

if(n ==0 && m==0 )

break;

if( m > n / 2 )

m = n - m;

double k = 1;

for(i = 1; i <= m ; i ++ )

k = k * ( n - m + i ) / i ; //* 1.0 ;

printf("%d/n", (long)k );

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: