可能有点不好理解但是能AC
$QwQ$
```
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,i,j,nn,num=0,n,flag1,flag2;
cin>>nn;
for(int n=2;n<=nn;n+=2)
{
if(n==4)
{
cout<<"4=2+2"<<endl;
continue;
}
for(a=3; a<=n; a++)
{
flag1=1;
for(i=2; i<=a/2; i++)
if(a%i==0)
{
flag1=0;
continue;
}
if(flag1==1)
{
b=n-a;
flag2=1;
for(j=2; j<=b/2; j++)
if(b%j==0)
{
flag2=0;
continue;
}
if(flag2==1)
{
cout<<n<<"="<<a<<"+"<<b<<endl;
break;
}//end flag2
}//end flag1
}
}
//cout<<num<<endl;
}
```
by EdisonBa @ 2020-08-14 10:51:38
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[114514];//用来存质数 0为质数 1不是质数
int main(){
a[1]=1;//众所周知1不是质数
for(int i=2;i<10005;i++){//筛法求素数 会快些
for(int j=2;j<=10005/i;j++){
if(a[i]==0){
a[i*j]=1;
}
}
}
int n;
cin>>n;//输入
for(int i=4;i<=n;i+=2){//每次加2 就都是质数
for(int j=2;j<=5000;j++){//最大跑到5000+5000就可以了 再大也是重复
if(a[j]==0&&a[i-j]==0){//如果满足就输出
printf("%d=%d+%d\n",i,j,i-j);
break;//输出完肯定是最小结果了 跳出
}
}
}
//学艺不精不会欧筛QAQ
return 0;
}
```
by 田所浩二de114514 @ 2020-08-16 08:37:05
喔,谢谢啦~
by Hulinlin2010422 @ 2020-08-18 16:02:03