求任意两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
辗转相除法的算法为:首先将 m除以 n(m>n)得余数 r,再用余数 r 去除原来的除数,
得新的余数,重复此过程直到余数为 0时停止,此时的除数就是m 和 n的最大公约数。
求 m和 n的最小公倍数: m和 n的积除以(m和 n 的最大公约数)。
public class GcdLcm {
public void gcdlcm(int m, int n) {
int mn = m * n;
int r = m % n;
while (r != 0) {
r = m % n;
m = n;
n = r;
}
System.out.println("最大公约数:" + m + "最小公倍数:" + mn / m);
}
public static void main(String[] args) {
GcdLcm gl = new GcdLcm();
gl.gcdlcm(12, 18);
}
}