编写一个函数求阶乘,在主函数中输入m和n的值,按如下公式计算并输出C(n上m下)的值?

2024-11-25 00:16:08
推荐回答(1个)
回答1:

通常都是用C(n下m上)来表示组合数的。下面是百度百科的叙述:
排列及计算公式:
从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示或 P(n,m)表示。
下面的程序是按照你的叙述编写的:
#include
int fac(int n)
{int f=1;
while(n>1)f*=n--;
return f;
}
int main()
{ int n,m;
scanf("%d%d",&n,&m);
printf("%d\n",fac(m)/(fac(n)*fac(m-n)));
return 0;
}