zoj 1938 || poj 2249 Binomial Showdown(求二项式系数)

就根据那个公式Cnk = n!/(k!*(n-k)!)

 

而且 Cnk == Cn(n-k)如果k > n-k   k = n-k 不加这个的话会超时。

 

#include <stdio.h> #include <stdlib.h> #include <iostream> #include <string.h> using namespace std; int main(void) { long long int n,k; // Must lld or you will get WA. while( scanf("%lld%lld",&n,&k)!=EOF && n ) { long long int sum = 1; int x = 1; if( k == 0 ) { printf("1/n"); continue; } if( k > n-k ) // It is so important. Save time !!! k = n-k; for(int i=n; i>n-k; i--) { sum *= i; sum /= x; x++; } printf("%lld/n",sum); } return 0; }  

你可能感兴趣的:(zoj 1938 || poj 2249 Binomial Showdown(求二项式系数))