2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。
上边的数列公差为 3030,长度为 66。
20042004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!
有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:
长度为 1010 的等差素数列,其公差最小值是多少?
import java.util.Scanner;
public class Main {
public static boolean isPrime(int num){
for (int i = num - 1;i > 1;i--){
if (num % i == 0)
return false;
}
return true;
}
public static void main(String[] args) {
for (int i = 1;i < 10000;i++){
for (int d = 1;d < 1000;d++){
int n;
for (n = 0;n <= 9;n++){
if (!isPrime(i + n * d))
break;
}
if (n == 10){
System.out.println(d);
return;
}
}
}
}
}