我的一篇半题解文章
https://www.luogu.com.cn/problem/P1304
哥德巴赫猜想题目链接
这道题应该大部dalao都做过好吧,我这个**蒟蒻**看到这道题二话没说**直接模拟,呵呵,不出所料TLE.....
我的悲伤世界
https://www.luogu.com.cn/record/157619047
TLE代码和记录
#include<iostream>
#include<fstream>
#include <iomanip>
#include <bits/stdc++.h>
#include <math.h>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int n,s=0,f=0,flag=1;
cin>>n;
for(int o=4;o<=n;o+=2){
flag=1;
for(int j=2;j<o;j++){
int m=1;
for(int i=2;i*i<=j;i++){
if(j%i==0){
m=0;break;
}
}
if(!m) continue;
for(int t=j;t<=o-j;t++){
int k=1;
for(int g=2;g*g<=t;g++){
if(t%g==0){
k=0;break;
}
}
if(!k) continue;
if((j+t)==o){
cout<<o<<"="<<j<<"+"<<t<<endl;
flag=0;break;
}
}
if(flag==0) break;
}
}
return 0;
}
显然,我脑子进水了
于是我的亲爱的信息老师让我用递归来做
结果过了
https://www.luogu.com.cn/record/158283627
#include<iostream>
#include<fstream>
#include <iomanip>
#include <bits/stdc++.h>
#include <math.h>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int n,s=0,f=0,flag=1;
cin>>n;
for(int o=4;o<=n;o+=2){
flag=1;
for(int j=2;j<o;j++){
int m=1;
for(int i=2;i*i<=j;i++){
if(j%i==0){
m=0;break;
}
}
if(!m) continue;
for(int t=j;t<=o-j;t++){
int k=1;
for(int g=2;g*g<=t;g++){
if(t%g==0){
k=0;break;
}
}
if(!k) continue;
if((j+t)==o){
cout<<o<<"="<<j<<"+"<<t<<endl;
flag=0;break;
}
}
if(flag==0) break;
}
}
return 0;
}