5-27 素数对猜想 (20分)

5-27 素数对猜想   (20分)

让我们定义d_ndn为:d_n = p_{n+1}-p_ndn=pn+1pn,其中p_ipi是第ii个素数。显然有d_1 = 1d1=1,且对于n>1n>1d_ndn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

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

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

20

输出样例:

4
//
#include 
#include 
int number[100000];
int main()
{

    int i,j;
    int n;
    scanf("%d",&n);
    for(i=0;i<=n;i++)
       number[i]=1;
    number[0]=number[1]=0;
    for(i=2;i<=n/2+1;i++){//素数筛法
        if(number[i]){
        for(j=i+i;j<=n;j+=i)
            number[j]=0;
        }
    }
    int former=2;
    int count=0;
    for(i=3;i<=n;i++){
        if(number[i]){
            if(i-former==2)
                count++;
            former=i;
        }
    }
    printf("%d\n",count);
    return 0;
}


你可能感兴趣的:(PTA基础题+大一习题)