自测-2 素数对猜想

自测-2 素数对猜想
分数 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>
#include<math.h>
int judge(int n);
int main(){
    int n;
    scanf("%d",&n);
    int pre=0;
    int now=0;
    int c=0;
    int ans=0;
    for(int i=1;i<=n;i++){
        if(judge(i)==1){
                now=i;
            if(c==0){
                pre=i;
                c++;
            }else{
                if(now-pre==2){
                    ans++;
                }
                pre=now;
            }
        }
    }
    printf("%d",ans);
}
int judge(int n){
    if(n<=1){
        return -1;
      }
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0){
            return -1;
        }
    }
    return 1;
}

你可能感兴趣的:(算法,数据结构,c语言)