3531 - 编程计算(5)
应用函数编程计算组合数P

Input
输入有多种样例。输入m,k,(m,k<10)并且m>=k
Output
输出组合数的结果。保留六位小数。
Examples
Input
9 1 10 9
Output
9.000000 10.000000
Solution C
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> unsigned long Factorial(unsigned int number); int main() { // freopen("in","r",stdin); // freopen("out","w",stdout); unsigned int m, k; double p; while(scanf("%u %u", &m, &k)!=EOF){ p = (double)Factorial(m) / (Factorial(k) * Factorial (m-k)); printf("%f\n", p); } return 0; } unsigned long Factorial(unsigned int number) { unsigned long i, result = 1; for (i=2; i<=number; i++) result *= i; return result; }
Solution C++
#include<cstdio> using namespace std; long fun(int n) { long result=1; for(int i=1;i<=n;i++) { result*=i; } return result; } int main() { int m,k; while(scanf("%d%d",&m,&k)!=EOF) { double end=1.0*fun(m)/(1.0*fun(k)*fun(m-k)); printf("%lf\n",end); } }