素数对猜想

题源

PTA 乙级

题解

#include<stdio.h>
int judge(int n){
    long i;
	if(n==1)return 0;
    if(n==2)return 1;
    if(n%2==0)return 0;
    for(i=3;i*i<=n;i+=2)
        if(n%i==0)return 0;
    return 1;
}
int N,len = 1,count = 0;
int An[100001];
int main(){
    scanf("%d",&N);
    An[0] = 1;
    for(int i = 2;i <= N;i++)if(judge(i))An[len] = i,len++;
    for(int i = 0;i < len;i++){
        for(int j = 0;i+j < len;j++){
            if(An[i]-An[i+j]==-2){
                count++;
                i+=j;
                break;
            }
        }
    }
    printf("%d",count);
    getchar();getchar();
    return 0;
}
posted @ 2021-04-25 15:09  summeriver13  阅读(24)  评论(0)    收藏  举报