AcWing 4268. 性感素数
原题链接
简单
作者:
fei0825
,
2023-05-22 17:12:48
,
所有人可见
,
阅读 44
#include <iostream>
using namespace std;
bool isPrime(int x){
if( x<=1 ) return false;
for( int i=2; i<=x/i; i++ ){
if( x%i==0 ) return false;
}
return true;
}
bool isSexyPrime(int x){
if( !isPrime(x) ) return false;
if( isPrime(x-6) ) return true;
if( isPrime(x+6) ) return true;
return false;
}
int main(){
int n;
scanf("%d", &n);
bool f = isPrime(n);
if( f ){
if( isPrime(n-6) ) printf("Yes\n%d\n", n-6);
else if( isPrime(n+6) ) printf("Yes\n%d\n", n+6);
else f = false;
}
if( !f ){
puts("No");
while( !isSexyPrime(n) ) n++;
printf("%d\n", n);
}
return 0;
}