题解HJ108 | #求最小公倍数#retainAll求并集
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
import java.util.ArrayList; import java.util.List; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); Integer x = in.nextInt(); Integer y = in.nextInt(); List<Integer> list1 = solve(x); List<Integer> list2 = solve(y); //求并集 list1.retainAll(list2); int result = 1; for (int i = 0; i < list1.size(); i++) { result *= list1.get(i); } System.out.println(x * y / result); } //求所有质因数 public static List<Integer> solve(int x) { List<Integer> result = new ArrayList<>(); for (int i = 2; i <= x; i++) { if (x % i == 0) { result.add(i); x /= i; i--; } } return result; } }