永发信息网

求c语言2个数最大公约数和最小公倍数的算法

答案:4  悬赏:40  手机版
解决时间 2021-04-23 23:05
  • 提问者网友:酱爆肉
  • 2021-04-23 06:26

不要求写程序 只要算法

最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-04-23 07:44

最大公约数的算法到处都是,最小公倍数与最大公约数和乘积和原来两数乘积相同,由此可以轻松得出结果。

全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-04-23 10:41

设俩数为A和B

最小公倍数:以大的倍数步进,如果整除则跳出

min=(a<b)?a:b;

max=(a>b)?a:b;

for(i=1;i<=min;i++)

if (i*max%min==0) break;

最大公约数:从小数开始步减,如果都整除则跳出,到2后还不整除则最大为1

for(j=min;j>1;)

{

if((min%j==0)and(max%j==0)) break;

j--;

}

  • 2楼网友:孤独的牧羊人
  • 2021-04-23 09:51
http://baike.baidu.com/view/255668.htm 辗转相除法
  • 3楼网友:几近狂妄
  • 2021-04-23 08:23

最大公约数基本都采用辗转法

int gongyueshu(int x,int y)

{ int a;

while(x%y)

{ a=x%y;

x=y;

y=a;}

return a;}

也就是说用第一个数不断的取模第二个数

如果除尽答案就是第二个数,

不然的话就用第二个数去除以取模数。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯