实验2-5-1 求排列数 (15 分)
本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式Pnm=(n−m)!n!算出从n个不同元素中取出m个元素(0<m≤n)的排列数。
函数接口定义:
double fact( int n );
其中n是用户传入的参数,函数返回n的阶乘。
裁判测试程序样例:
#include <stdio.h>
double fact( int n );
int main(void)
{
int m, n;
double result;
scanf("%d%d", &m, &n);
if(m > 0 && n > 0 && m <= n){
result = fact(n)/fact(n-m);
printf("result = %.0f\n", result);
}
return 0;
}
/* 请在这里填写答案 */
输入样例:
2 14
输出样例:
在这里给出相应的输出。例如:
result = 182
double fact( int n ){
int i;
double f=1.0;//定义一个双精度浮点型变量f,用来记录阶乘
for(i=1;i<=n;i++)//循环n次,求n的阶乘
{
f=f*i;
}
return f;//返回f的值
}