(组合数学3.1.2.1)POJ 2249 Binomial Showdown(排列组合公式的实现)
/* * 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; }
补充:软件开发 , C++ ,