发布网友
共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;
}
把分给我, 我的答案最完美