c语言求组合数函数 c语言数组合并函数

大一C语言(求阶乘用函数实现)求组合数

有两个问题,一个是fact()函数里的p应该定义成double类型,第二个是printf()不应该用%d输出double类型的值,应该用%.0f或者%.0lf

创新互联公司是一家专业提供德兴企业网站建设,专注与网站制作、成都网站设计、HTML5建站、小程序制作等业务。10年已为德兴众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

顺便说一句,这个问题只要定义fact()一个函数就够了,输出的时候用

printf("result = %.0f\n",fact(n)/(fact(m)*fact(n-m)));

另外两个函数删掉就可以了。

C语言【求组合数】

这个题目的数学公式可以简化,n比m小

判断n和m-n谁大,业绩是n是否大于m/2

这样可以计算,如果nm/2

m*(m-1)*...*(n+1)除以(m-n)*(m-n-1)*....*2

道理你该明白

C语言求组合数

double fact(long num)

{

for (long i = 1; num  0; num--)

{

i *= num;

}    

}

int main()

{

long m;

long n;

long C;

scanf("%ld %ld", m, n);

C = fact(n) / ((fact(m)) * fact(n-m));

printf("%ld",C);

return 0;

}

新闻名称:c语言求组合数函数 c语言数组合并函数
标题路径:https://www.cdcxhl.com/article4/hiidie.html

成都网站建设公司_创新互联,为您提供品牌网站建设虚拟主机品牌网站设计品牌网站制作定制开发手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营