题目
求两个正整数的最小公倍数
思路
先写 gcd 方法,再 lcm = a / gcd(a, b) * b(先除后乘,中间用 long)。
解题分析
lcm(a,b)=a/gcd(a,b)*b,先写 gcd 再乘,顺序上先除 gcd 再乘 b 可减小中间值。两数很大时用 long 类型 存 lcm。
完整程序
import java.io.*;
public class Main {
public static void main(String[] args) {
int a = 4, b = 6;
int x = a, y = b;
while (y != 0) {
int t = x % y;
x = y;
y = t;
}
System.out.println((long) a / x * b);
}
}
运行示例
输出:
12