← 点个赞吧QwQ
$\Large\color{Gold}{暑假每日一题2022}\color{black}{题解集合}$
分析
这题很简单,判断 $n$ 和 $n-6$ 或 $n+6$ 是否都为素数就好了
不是的话就一直 $n++$ 直到满足为止
有一个就是要注意负数的问题,其他也没什么坑……
C++ 代码
#include<bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
bool prime(int n){
if(n<2) return false;
for(int i=2;i*i<=n;i++){
if(n%i==0) return false;
}
return true;
}
int n;
int main(){
scanf("%d",&n);
if(prime(n)&&prime(n-6)) printf("Yes\n%d",n-6);
else if(prime(n)&&prime(n+6)) printf("Yes\n%d",n+6);
else {
while(1){
if(prime(++n)&&(prime(n-6)||prime(n+6))){
printf("No\n%d",n);
break;
}
}
}
return 0;
}