@[lfxxzms](/user/1003851) 在第二层的循环内也需要将 $p$ 和 $o$ 初始化为 1,不然第一次枚举的 $j$ 不合法的话 $o$ 和 $p$ 的值就会一直是 0。
by Mu_leaf @ 2023-07-06 11:18:49
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,a;
int main(){
cin>>n;
for(int i=4;i<=n;i+=2){
bool p=1,o=1;
for(int j=2;j<=i;j++){
a=i-j;
p=1,o=1;
for(int k=2;k*k<=j;k++){
if(j%k==0){
p=0;
break;
}
}
for(int l=2;l*l<=a;l++){
if(a%l==0){
o=0;
break;
}
}
if(p==1&&o==1){
cout<<i<<"="<<j<<"+"<<a<<endl;
break;
}
}
}
return 0;
}
```
@[lfxxzms](/user/1003851) 只修改了第 10 行。
by Mu_leaf @ 2023-07-06 11:19:52
@[Mu_leaf](/user/701254) 谢谢大佬,已ac,兑现诺言,已关注
by dsfgsdf @ 2023-07-06 11:20:26
此帖结
by dsfgsdf @ 2023-07-06 11:21:23