3531 - 编程计算(5)

通过次数

0

提交次数

0

时间限制 : 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);
	}
}