PAT.乙级练习题.1007

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;
}

猜你喜欢

转载自blog.csdn.net/death__moon/article/details/78321760
今日推荐