1477 - 《C语言程序设计》江宝钏主编-习题6-2-排列数

通过次数

0

提交次数

0

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

编写程序计算排列数

Pmn =M! / (m-n)!

要求定义函数fact(n)计算n的阶乘。

注意:此题用C语言完成时,只提交头文件和fact(int n)函数,系统将自动附加下面的main函数后运行,请复制下面的main函数用于调试fact函数。


其他语言的答案无此要求。

int main(){

int i,n,m;

scanf("%d%d",&m,&n);

printf("%d\n",fact(m)/fact(m-n));

return 0;

}

题目输入

两个数m、n

题目输出

Pmn

输入/输出样例

输入格式

3 2

输出格式

6

C语言解答

#include <stdio.h>
int fact(int a);
int main()
{

	int i,n,m;
	
	scanf("%d%d",&m,&n);
	
	printf("%d\n",fact(m)/fact(m-n));

	return 0;

}
int fact(int x)
{
	int i,j=1;
	for(i=1;i<=x;i++)
	{
		j=j*i;
	}
	return j;
}

C++解答

#include<iostream>
using namespace std;
long long fact(int n)
{
	long long f=1;
	for (int i=1; i<=n; i++) f*=i;
	return f;
}
int main()
{
	int m,n;
	cin>>m>>n;
	cout<<fact(m)/fact(m-n)<<endl;
	return 0;
}