2085 - 计算组合数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出:

         m!         

n! (m-n)!

要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为float

题目输入

m n

题目输出

对应表达式的值

输入/输出样例

输入格式

2 1

输出格式

2

C语言解答

#include <stdio.h>
int main(int argc, char *argv[])
{
	float fact(int n);
	int m,n,result;
	scanf("%d%d",&m,&n);
	result=fact(m)/(fact(n)*fact(m-n));
	printf("%d",result);
	return 0;
}
float fact(int n)
{
	float sum=1;
	for(;n>0;n--)
	{
		sum*=n;
	}
	return sum;
	
}

C++解答

#include<stdio.h>
int main()
{
	int i,j,k;
	long long sum;
	int  n,m;
	scanf("%d %d",&n,&m);
	sum=1;
	if(m>n/2)
	m=n-m;
	for(i=0;i<m;i++)
	{
		sum*=n-i;
		sum/=1+i;
	}
	printf("%lld\n",sum);
		
	
	return 0;
}