1007.素数对猜想
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。
“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例: | 输出样例: |
---|---|
20 | 4 |
示例代码:
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
bool * isprime=new bool[n+1];
int D_value=0;
for(int i=0;i<=n;i++){
isprime[i]=true;
for(int j=2;j*j<=i;j++)
if(i%j==0)
isprime[i]=false;
}
for(int i=2;i<=n-1;i++)
if(isprime[i]&&isprime[i+2])
D_value++;
cout<< D_value;
return 0;
}