3531 - 编程计算(5)
时间限制 : 1 秒
内存限制 : 128 MB
应用函数编程计算组合数P

题目输入
输入有多种样例。输入m,k,(m,k<10)并且m>=k
题目输出
输出组合数的结果。保留六位小数。
输入/输出样例
输入格式
9 1 10 9
输出格式
9.000000 10.000000
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; }
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); } }