Advertisement
Tahsin24

543 - GoldBach's Conjecture

Nov 7th, 2014
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cmath>
  5. #include <algorithm>
  6. #include <vector>
  7. #include <fstream>
  8. using namespace std;
  9.  
  10. int prime_list[1000001];
  11.  
  12. int main()
  13. {
  14. ofstream out("output.txt");
  15. //memset(prime_list, 0, sizeof(prime_list));
  16. prime_list[0] = 1;
  17. prime_list[1] = 1;
  18. vector<int>v;
  19. v.push_back(2);
  20. v.push_back(3);
  21. v.push_back(5);
  22. v.push_back(7);
  23. v.push_back(11);
  24. v.push_back(13);
  25. v.push_back(17);
  26. v.push_back(19);
  27. v.push_back(23);
  28.  
  29. for (int i = 0; i < v.size();i++)
  30. {
  31. int a = v[i];
  32. for (int j = 2; j <= 400; j++)
  33. {
  34. if (a != j && (j % a == 0))
  35. {
  36. prime_list[j] = 1;
  37. }
  38. }
  39. }
  40. for (int i = 23; i <= 400; i++)
  41. {
  42. if (prime_list[i] == 0)v.push_back(i);
  43. }
  44.  
  45. for (int i = 0; i < v.size(); i++)
  46. {
  47. int a = v[i];
  48. for (int j = 400; j <= 1000; j++)
  49. {
  50. if (a != j && (j % a == 0))
  51. {
  52. prime_list[j] = 1;
  53. }
  54. }
  55. }
  56. for (int i = 401; i <= 1000; i++)
  57. {
  58. if (prime_list[i] == 0)v.push_back(i);
  59. }
  60.  
  61.  
  62.  
  63. for (int i = 0; i < v.size(); i++)
  64. {
  65. int a = v[i];
  66. for (int j = 1001; j < 1000001; j++)
  67. {
  68. if (a != j && (j%a == 0))
  69. {
  70. prime_list[j] = 1;
  71. }
  72. }
  73. }
  74.  
  75.  
  76. int a, b;
  77. while (cin >> a)
  78. {
  79. if (a == 0)break;
  80. for (b = 3; ; b++)
  81. {
  82. if (prime_list[b] == 0 && prime_list[a - b] == 0)
  83. {
  84. cout << a << " = " << b << " + " << a - b << endl;
  85. break;
  86. }
  87. }
  88. }
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement