您的位置:首页 > 其它

(组合数学3.1.2.1)POJ 2249 Binomial Showdown(排列组合公式的实现)

2013-10-08 22:34 387 查看
/*
* POJ_2249.cpp
*
*  Created on: 2013年10月8日
*      Author: Administrator
*/

#include <iostream>
#include <cstdio>

using namespace std;

typedef long long int64;

int64 work(int64 n , int64 k){
if(k > n/2){
k = n-k;
}

int64 a = 1;
int64 b = 1;
int i;
for(i = 1 ; i <= k ; ++i){
a *= n-i+1;
b *= i;
if(a%b == 0){
a /= b;
b = 1;
}
}

return a/b;
}

int main(){
int64 n,k;
while(scanf("%lld%lld",&n,&k)!=EOF,n){
printf("%lld\n",work(n,k));
}

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