1. 程式人生 > >題目5:找出最小的能被1-20中每個數整除的數。

題目5:找出最小的能被1-20中每個數整除的數。

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; } }