让我们定义 dn为:dn=pn+1−pn,其中 pi是第 i 个素数。显然有 d1=1,且对于 n >1 有 dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为 2 的素数”。
现给定任意正整数 N(<105),请计算不超过 N 的满足猜想的素数对的个数。输入格式:
输入在一行给出正整数 N。输出格式:
在一行中输出不超过 N 的满足猜想的素数对的个数。输入样例:
20
输出样例:
4
code
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
in.nextToken();
int N = (int) in.nval , k = 0 , count = 0;
int[] arr = new int[N + 1];
for(int i = 2 ; i <= N ; i++) {
int j = 2;
for(; j <= Math.sqrt(i) ; j++) {
if(i % j == 0)
break;
}
if(j > Math.sqrt(i))
{
arr[k++] = i;
}
}
for(int i = 0 ; i < N ; i++) {
if(arr[i + 1] – arr[i] == 2){
count++;
}
}
out.println(count);
out.flush();
}
}