输入m,n输出他们的c语言输出最大公约数和最小公倍数数,我的代码有什么问题吗,为什么不行

然后枚举s的因数x得到另一个因數y,判断gcd(x.y)是否等于1即可详见程序1

这里讲一个更有数学味的算法,希望大家看完

按照上面的分析,无非就是把问题转化成为了求S的因数集合中两两互质的数对的个数。
设 x是s的一个因数相对的因数是y=s/x

这里用语言简单说明一下,通过刚才的证明有xy=s,所以 x 必为 b数组中若干鈈相同元素的乘积那么不是x因数的 b数组中的元素,一定是y的因数那么考虑会选择哪几个元素相乘得到x,必然用二进制加以枚举
也就昰说 s 有 n 中质因数,则一定有 2^n 种答案

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 c语言输出最大公约数和最小公倍数 的文章

 

随机推荐