C语言程序:
#include
/* 计算n! */
long func(int n)
{
int i;
long f = 1;
for(i=2; i<=n; i++)
{
f *= i;
}
return f;
}
void main()
{
int n, m;
long comb;
while(1)
{
printf("请输入组合公式的n、m(n>=m,以空格分隔):");
scanf("%d%d", &n, &m);
if(n < 0)
printf("n 不能小于0\n");
else if(m < 0)
printf("m 不能小于0\n");
else if(n < m)
printf("n不能小于m\n");
else
break;
}
comb = func(n) / func(n-m) / func(m);
printf("C%d(%d) = %ld\n", n, m, comb);
}
运行测试:
请输入组合公式的n、m(n>=m,以空格分隔):7 2
C(7)2 = 21