游客 Signup | Login
中文 | En

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);
	}
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题