fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long int
  4. #define ull unsigned long long
  5. #define MAXNODES 200009
  6. #define mod 1073741824
  7. #define MAXTREE (MAXNODES << 2)
  8.  
  9. void kk ()
  10. {
  11. ios::sync_with_stdio(0);
  12. ios_base::sync_with_stdio(0);
  13. cin.tie(0), cout.tie(0);
  14. }
  15.  
  16.  
  17. bool primes[1000005];
  18. vector<ll>v;
  19. void Sieve()
  20. {
  21. for (int i=0;i<=1e6;i++)
  22. primes[i]=1;
  23. primes[0]=0;
  24. primes[1]=0;
  25. for (ll i=2;i<=1e6;i++)
  26. {
  27. if (primes[i])
  28. {
  29. v.push_back(i);
  30. for (ll j=i*i;j<=1e6;j+=i)
  31. primes[j]=0;
  32. }
  33. }
  34. }
  35. int main()
  36. {
  37.  
  38. kk ();
  39.  
  40. /* freopen("input.txt","r",stdin);
  41.   freopen("output.txt","w",stdout);*/
  42.  
  43. Sieve();
  44. int n;
  45. while (cin>>n)
  46. {
  47. if (n==0)
  48. break;
  49. int mx=0;
  50. ll a=-1,b=-1;
  51. for (int i=0;i<v.size();i++)
  52. {
  53. ll temp=n-v[i];
  54. if (temp>=0 && primes[temp])
  55. {
  56. if (abs(temp-n)>=mx)
  57. {
  58. mx=abs(temp-n);
  59. a=min(v[i],temp);
  60. b=max(v[i],temp);
  61. }
  62. }
  63. else if (temp<0)
  64. break;
  65. }
  66. if (a==-1)
  67. cout << "Goldbach's conjecture is wrong." << endl;
  68. else
  69. {
  70.  
  71. cout << n << " = " << a << " + " << b << endl;
  72. }
  73. }
  74. return 0;
  75. }
  76.  
Success #stdin #stdout 0s 16336KB
stdin
Standard input is empty
stdout
Standard output is empty