求组合数 本题要求编写程序,根据公式 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型...
C语言求组合数不能直接使用数学公式C(n,m)=(m!)/(n!*(n-m)!);即使VC 6.0的int是32bit,但其实当计算到17!时候就会溢出,所以需要另辟蹊径。先来把公式变形。(m!)/(n!*(m-n)!)=(m*(m-1)*(m-2)*…*(m-n+2)*(m-n+1))/(n!)=((m-n+1)/1)*((m-n+2)/2)*...
include <stdio.h>int ifac(int n);int nCr(int n, int r);int main(void) { int a, b, result; printf("Input two numbers: "); scanf("%d%d", &a, &b); result = nCr(a, b); if (result == 0) printf("Wrong!\n"); else printf("%d\n", result)...
2、/(n1!×n2!×...×nk!). k类元素,每类的个数无限,从中取出m个元素的组合数为C(m+k-1,m)。 3、C上标是m下标是n,表示从n个不同元素中任取m个元素的不同取法的种数,称为组合数。 4、C语言中,每个函数都有返回值类型。可以是void,int,double,等,也可以是struct类型。在返回值是void类型的函数...
zhsgs=fact(m)/(fact(n)*fact(m-n));
程序没什么问题,除了过于繁琐,本来很简单的问题却人为搞得很复杂之外没什么大毛病。函数中组合数公式也是对的。具体有什么错误,可以截图放上来。
回答:你要对输入的两个数做什么?