有没有谁知道验证哥德巴赫猜想这道题我的代码哪里错了;52以上就不输出了!
题目描述
验证哥德巴赫猜想:每一个大于2的偶数都可以表示成两个质数之和。输入偶数N(N>=4),N的一个表示式子。
4=2+2
6=3+3
8=3+5
10=3+7
12=5+7
样例输入:
4
样例输出:
4=2+2
时间限制:
1000
空间限制:
65536
提示:
要求:输出式子第一个质数最小的情况,并请将式子中两个数较小的一个放在前面。
我的代码:
#include
#include
#include
#include
#include
using namespace std;
int main(){
int n;
cin>>n;
int swag=0,flag=0;
if(n==4){
cout<<“4=2+2”;
return 0;
}
else{
for(int i=3;i<n;i++){
for(int j=2;j<i;j++){
if(i%j==0){
swag=1;
}
}
if(swag==0){
int tab=n-i;
for(int p=2;p<tab;p++){
if(tab%p==0){
flag=1;
}
}
if(flag!=1){
cout<<n<<“=”<<i<<“+”<<tab;
return 0;
}
}
}
}
return 0;
}