PAT1007 素数对猜想 (20 分)

1007 素数对猜想 (20 分)

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

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

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

20

输出样例:

4
#include<stdio.h>

int sushu(int n)
{
    int i,temp=0;
    for(i=2;i<=(int)sqrt(n);i++)
    {
        if(n%i==0){
            temp=1;
            break;
        }
    }
    return temp;
}

int main()
{
    int n,m,i,sum=0,k=0;
    scanf("%d",&n);
    int a[n];
    for(i=2;i<=n-2;i++)
    {
         if((sushu(i)==0)&&(sushu(i+2)==0))
            sum++;
    }
    printf("%d",sum);
}

 第一次提交第五个测试点提示运行超时,上网看了别人的解题思路发现是原来的判断素数写的不好,将i<=n改成根号n后就可以正确运行了。

猜你喜欢

转载自blog.csdn.net/qq_38290604/article/details/86617258
今日推荐