题目

求两个正整数的最小公倍数

思路

先写 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