欧几里得算法:gcb(a,b)=gcb(b,a%b) 即求两个数的最大公约数。
存在两个数:a,b,且a>b 。
那么必有a=kb+r, 所以r=a%b;
假设两个数的最大公约数为d,则r=xd-ykd ----》r=(x-yk)*d 。
可以得出d必是r的公约数。
因为r=a%b
所以gcb(a,b)=gcb(b,r)=gcb(b,a%b).
public static int euclid(int a ,int b){
if(b==0)
return a;
else{
int temp=b;
b=a%b;
a=temp;
return euclid(a, b);
}
}同理:两个数的最小公倍数想必大家都会求了吧。
本文详细介绍了使用欧几里得算法求解两个整数最大公约数的方法,并通过递归方式实现了该算法。同时,文章指出了解决最小公倍数问题的思路。
1660

被折叠的 条评论
为什么被折叠?



