PTA 自测2

自测-2 素数对猜想(20 分)

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

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

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

20

输出样例:

4
作者: 陈越
单位: 浙江大学
时间限制: 400ms
内存限制: 64MB
代码长度限制: 16KB


#include <iostream>
using namespace std;
bool IsPrime2(int x)
{
    bool m=true;
    for(int i=2; i<=x/2+1; i++)
    {
        if(x%i==0||(x+2)%i==0)
        {
            m=false;
            break;
        }

    }
    return m;
}
int main()
{
    int i=2,j,N,ct=0;
    cin>>N;
    if(N<5)  cout<<"0"<<endl;
    else
    {
        while(i<=N)
        {
            if(i+2<=N&&IsPrime2(i))
            {
                ct++;
                i=i+2;
            }
            else
            {
                i++;
            }
        }
        cout<<ct;
    }


}

猜你喜欢

转载自blog.csdn.net/weixin_41168353/article/details/79873419
PTA