1 条题解
-
0
#include<vector> #define endl '\n' using namespace std; void print(int x,const vector<int> &primes) { for(int i=0;i<=primes.size()-1;i++) for(int j=0;j<=primes.size()-1;j++) if (primes[i]+primes[j]==x) { cout<<x<<"="<<primes[i]<<"+"<<primes[j]<<endl; return; } } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; //范围 4~n cin >> n; vector<bool> isPrime(n + 1, true);//标记质数 isPrime[0]=false,isPrime[1]=false; vector<int> primes; //保存质数 for(int i=0;i<=n;i++)//获取范围内所有质数 { if (isPrime[i])//质数筛 { primes.push_back(i); for(int j=i*i;j<=n;j+=i) isPrime[j]=false; } } for(int i=4;i<=n;i+=2) print(i,primes); //cout<<endl; return 0; }
- 1
信息
- ID
- 110
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 1115
- 已通过
- 8
- 上传者