1. 程式人生 > >1007 素數對猜想 (20 分)

1007 素數對猜想 (20 分)

1007 素數對猜想 (20 分)
讓我們定義 d n = P n + 1

P n d_n =P_{n+1}-P_n ,其中 P i
P_i
是第i個素數。顯然有 d 1 = 1 d_1=1 ,且對於n>1有 d
n d​_n
是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。

現給定任意正整數N(< 1 0 5 10^5 ),請計算不超過N的滿足猜想的素數對的個數。

輸入格式:
輸入在一行給出正整數N。

輸出格式:
在一行中輸出不超過N的滿足猜想的素數對的個數。

輸入樣例:
20
輸出樣例:
4

#include <iostream>
using namespace std;
bool isprime(int a) {
    for (int i = 2; i * i <= a; i++)
        if (a % i == 0) return false;
    return true;
}
int main() {
    int N, cnt = 0;
    cin >> N;
    for (int i = 5; i <= N; i++)
        if (isprime(i-2) && isprime(i)) cnt++;
    cout << cnt;
    return 0;
}