试除法筛素数
$O(k*\sqrt{n})$
#include<iostream>
using namespace std;
bool get(int n)
{
if(n<=0||n==1) return false;
for(int i=2;i*i<=n;i++)
if(n%i==0) return false;
return true;
}
int main()
{
int n; cin>>n;
if(get(n)&&(get(n-6)||get(n+6)))
{
puts("Yes");
if(get(n-6)) cout<<n-6;
else if(get(n+6)) cout<<n+6;
}
else
{
puts("No");
for(int i=n+1;;i++)
if(get(i)&&(get(i-6)||get(i+6)))
{
cout<<i;
break;
}
}
return 0;
}