问题描述:
The first two consecutive numbers to have two distinct prime factors are:
14 = 2 × 7
15 = 3 × 5
The first three consecutive numbers to have three distinct prime factors are:
644 = 2² × 7 × 23
645 = 3 × 5 × 43
646 = 2 × 17 × 19.
Find the first four consecutive integers to have four distinct prime factors each. What is the first of these numbers?
穷举代码如下:
int i = 1000;
while(true) {
if(p(i) && p(i+1) && p(i+2) && p(i+3)) {
System.out.println(i);
break;
}
i++;
}
public static boolean p(int n){
int a = 2;
HashSet ss = new HashSet<Integer>();
while(n > 1) {
if(n % a == 0) {
if(!ss.contains(a))
ss.add(a);
n /= a;
a = 2;
} else {
a++;
}
}
return ss.size() == 4;
}