題目5:找出最小的能被1-20中每個數整除的數。
阿新 • • 發佈:2019-02-05
2520是最小的能被1-10中每個數字整除的正整數。
最小的能被1-20中每個數整除的正整數是多少?
分解質因數,不多說
public class Problem5 { private static HashSet<Integer> set = new HashSet<Integer>(); public static void main(String[] args) { for (int i = 1; i <= 20; i++) { getPrime(i); } Iterator<Integer> it = set.iterator(); int res = 1; while (it.hasNext()) { int prime = it.next(); res = prime * res; } System.out.println(res); } private static void getPrime(int value) { if (isPrime(value)) { set.add(value); } else { for (int i = 2; i < value / 2;i++) { int remainder = value % i; if (remainder == 0 || isPrime(i)) { set.add(i); } } } } public static Boolean isPrime(int value) { Boolean flag = true; for (int i = 2; i <= Math.sqrt(value); i++) { if (value % i == 0) { flag = false; break; } } return flag; } }