HJ108 求最小公倍数
经典lcm,其实可以根据直觉直接推出 (a/gcd) * (b/gcd) * gcd = lcm
最小公倍数一定小于等于a*b,且显然最小公倍数是最大公约数的倍数,a是gcd的倍数,b也是gcd的倍数,即a是a和gcd的最小公倍数,b是b和gcd的最小公倍数,要求公共的,a和b的最小公倍数,且a*b也一定是gcd的倍数, 那就是看a*b有多少个gcd,但是这是直觉证明,可能看不懂
也可以看大佬的证明

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
System.out.println(a*b/gcd(a,b));
}
private static int gcd(int a, int b) {
return b==0 ? a : gcd(b,a%b);
}
}

浙公网安备 33010602011771号