Untitled
unknown
c_cpp
4 years ago
1.2 kB
3
Indexable
#include <bits/stdc++.h> using namespace std; int isPrime[1000005]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; while(true){ cin >> n; if(n==0) return 0; for(int i=0;i<=n;i++){ isPrime[i]=1; } isPrime[0]=0;isPrime[1]=0; for(int i=2;i<=sqrt(n);i++){ if(isPrime[i]==1){ for(int j=i*i;j<=n;j+=i){ isPrime[j] = 0; } } } isPrime[2] = 0; vector<int> Primes; for (int i=3; i<=n; i++) { if (isPrime[i] == true) { Primes.push_back(i); } } int flag = 0; for (int i=0 ; i<Primes.size(); i++){ int m = n - Primes[i]; if (binary_search(Primes.begin(), Primes.end(), m)) { cout << Primes[i] << " + " << m << " = " << n << endl; flag = 1; break; } } if(!flag) cout << "Goldbach's conjecture is wrong." << endl; } }
Editor is loading...