[解题报告]530 - Binomial Showdown
Binomial Showdown |
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 () and k (
).
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
排列组合嘛。。。注意数据类型
#include<stdio.h> int main() { int a,b,n,m; double s; while(scanf("%d %d",&n,&m)!=EOF) { if(n==0) break; if(m>n/2) m=n-m; for(a=1,b=n,s=1;a<=m;a++,b--) { s=s*b; s=s/a; } printf("%.0lf\n",s); } return 0; }