用C语言求组合数m!/n!*(m-n)!的编程

发布网友

我来回答

3个回答

热心网友

注意:m>n
#include <stdio.h>
main ()
{
unsigned long sum=1,sum1=1,sum2=1,m,n,t,y;
char i,j;

printf ("输入第一个数m:");
scanf("%d",&m);
for (i=1;i<=m;i++)
sum*=i;
printf ("sum=%ld\n",sum);

printf ("输入第二个数n:");
scanf("%d",&n);
for (i=1;i<=n;i++)
sum1*=i;
printf ("sum1=%ld\n",sum1);

for (i=1;i<=(m-n);i++)
sum2*=i;
printf ("sum2=%ld\n",sum2);

t=(sum/sum1)*sum2;
printf ("t=%ld\n",t);
return 0;
}

热心网友

a=1;b=n;
for(i=1;i<=n;i++)
{a=a*(m-i+1);
b=b*i;}
printf(a/b);

热心网友

long long combination (long long n, long long r)
{ long long i, value;
if (n < r) return 0;
if (r > n - r) return combination (n, n - r);
for (i = 1, value = 1; i <= r; i ++) {
value = value * (n - i + 1) / i ;
}
return value;
}

把分给我, 我的答案最完美

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com