素数对猜想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;
}
答
范围取到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;
}