Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- #include <cmath>
- #include <algorithm>
- #include <vector>
- #include <fstream>
- using namespace std;
- int prime_list[1000001];
- int main()
- {
- ofstream out("output.txt");
- //memset(prime_list, 0, sizeof(prime_list));
- prime_list[0] = 1;
- prime_list[1] = 1;
- vector<int>v;
- v.push_back(2);
- v.push_back(3);
- v.push_back(5);
- v.push_back(7);
- v.push_back(11);
- v.push_back(13);
- v.push_back(17);
- v.push_back(19);
- v.push_back(23);
- for (int i = 0; i < v.size();i++)
- {
- int a = v[i];
- for (int j = 2; j <= 400; j++)
- {
- if (a != j && (j % a == 0))
- {
- prime_list[j] = 1;
- }
- }
- }
- for (int i = 23; i <= 400; i++)
- {
- if (prime_list[i] == 0)v.push_back(i);
- }
- for (int i = 0; i < v.size(); i++)
- {
- int a = v[i];
- for (int j = 400; j <= 1000; j++)
- {
- if (a != j && (j % a == 0))
- {
- prime_list[j] = 1;
- }
- }
- }
- for (int i = 401; i <= 1000; i++)
- {
- if (prime_list[i] == 0)v.push_back(i);
- }
- for (int i = 0; i < v.size(); i++)
- {
- int a = v[i];
- for (int j = 1001; j < 1000001; j++)
- {
- if (a != j && (j%a == 0))
- {
- prime_list[j] = 1;
- }
- }
- }
- int a, b;
- while (cin >> a)
- {
- if (a == 0)break;
- for (b = 3; ; b++)
- {
- if (prime_list[b] == 0 && prime_list[a - b] == 0)
- {
- cout << a << " = " << b << " + " << a - b << endl;
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement