4268-性感素数
作者:
catlle
,
2022-11-16 21:09:55
,
所有人可见
,
阅读 262
#include <iostream>
using namespace std;
//判断素数
bool isprime(int n){
int i;
for(i = 2; i * i <= n; i++)
if(n % i == 0)
break;
if(i * i > n && n != 1 && n > 0)
return true;
return false;
}
//不是性感素数之后的最小性感素数
void noprime(int n){
while(++n){
if(!isprime(n))
continue;
if(isprime(n - 6)){
cout<< endl<< n;
return ;
}
else if(isprime(n + 6)){
cout<< endl<< n;
return ;
}
}
}
int main(){
int n;
cin>> n;
if(isprime(n)){
if(isprime(n - 6)){
cout<< "Yes"<< endl<< n - 6;
}
else if(isprime(n + 6)){
cout<< "Yes"<< endl<< n + 6;
}
else{
cout<< "No";
noprime(n);
}
}
else{
cout<< "No";
noprime(n);
}
return 0;
}