天天看點

南郵 OJ 1569 組合問題

組合問題

時間限制(普通/Java) :  1000 MS/ 3000 MS          運作記憶體限制 : 65536 KByte

總送出 : 59            測試通過 : 20 

比賽描述

一個組合 C(n,m)=n!/m!/(n-m)!.告訴你n和m,你需要計算C(n,m).

輸入

多組資料。讀到n=0 m=0結束

每組資料輸入兩個數字, n, m(0<=m<=n<30)

輸出

每組資料對應輸出 C(n,m) . 保證答案小于 2147483648.

樣例輸入

3 1

4 2

0 0

樣例輸出

3

6

提示

undefined

題目來源

NUPT ACM

#include<stdio.h>
int main(){
	double n,m,result,i;
	while(scanf("%lf%lf",&n,&m)==2 && (n||m)){
		if(n-m<m){
			m = n-m;
		}
		result = 1;
		for(i=n; i>=(n-m+1); i--){
			result *= i;
		}
		for(i=m; i>=1; i--){
			result /= i;
		}
		printf("%d\n",(int)result);
	}
}