素数对猜想pta不通过,请问怎么改

问题描述:


#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int a){
    for(int i=2;i<=sqrt(a);i++){
        if(a%i==0)
            return false;
    }
    return true;
}
int main(){
    int N;
    cin>>N;
    int count=0;
    for(int j=3;j<=N;j++){
        if(isprime(j)&&isprime(j+2)){
            count++;
        }
    }
    cout<<count;
    return 0;
}

img

范围取到N-2就好了 因为是检验j 和 j+2

#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int a){
    for(int i=2;i<=sqrt(a);i++){
        if(a%i==0)
            return false;
    }
    return true;
}
int main(){
    int N;
    cin>>N;
    int count=0;
    for(int j=3;j<=N-2;j++){
        if(isprime(j)&&isprime(j+2)){
            count++;
        }
    }
    cout<<count;
    return 0;
}