1477 - 《C语言程序设计》江宝钏主编-习题6-2-排列数
时间限制 : 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; }