1007 素数对猜想 (20分)

让我们定义d**n为:d**n=p**n+1−p**n,其中p**i是第i个素数。显然有d1=1,且对于n>1有d**n是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20

      
    

输出样例:

4

代码

// 1007 素数对猜想.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
using namespace std;
bool isprime(int n) {
	for (int i = 2;i*i<=n; i++) {
		if (n % i == 0) {
			return false;
		}
	}
	return true;
}

int main()
{
	int n;
	cin >> n;
	int ans = 0;
	for (int i = 4; i <= n; i++) {
		if (isprime(i) && isprime(i - 2)) {
			ans++;
		}
	}
	cout << ans;
	return 0;
}

原文地址:https://www.cnblogs.com/ericling/p/12331918.html