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

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:02:58
希望大狭们帮帮忙

注意: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;
}

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 ;