#include<bits/stdc++.h>
using namespace std;
int n;
bool mei(int v, int x){
bool flag1=true, flag2=true;
for(int q=2; q*q<=v;q++){
if(v==2) break;
if(v%q==0){
flag1=false;
}
}
for(int r=2; r*r<=x;r++){
if(x==2) break;
if(x%r==0){
flag2=false;
}
}
if(flag1==true&&flag2==true) return true;
return false;
}
int gdbh(int n){
int j1,j2;
for(j1=2;j1<=n/2;j1++){
for(j2=n-2;j2>=j1;j2--){
if(mei(j1,j2)==true&&j1+j2==n){
return j1;
}
}
}
}
int main(){
cin >> n;
int i;
for(i = 4; i <= n; i+=2){
int k = gdbh(i);
int y =i-k;
printf("%d=%d+%d\n", i, k, y);
}
return 0;
}
以上为代码,由于初学,代码写的有些冗长,n<=10000,此代码卡在样例二n=10000,TLE