D.cpp 740 B

12345678910111213141516171819202122232425262728293031323334
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N = 1000000 + 10;
  4. vector<int> v(1, 2);
  5. void init() {
  6. for (int i = 3; i <= N; i += 2) {
  7. bool flag = true;
  8. for (int j = 3; j * j <= i; j += 2) {
  9. if (i % j == 0) {
  10. flag = false;
  11. break;
  12. }
  13. }
  14. if (flag)v.push_back(i);
  15. }
  16. }
  17. int main() {
  18. init();
  19. int n;
  20. while (cin >> n) {
  21. int p = n / 2;
  22. if (p % 2 == 0)p--;
  23. for (int i = p; i >= 3; i -= 2) {
  24. if (binary_search(v.begin(), v.end(), i) && binary_search(v.begin(), v.end(), n - i)) {
  25. cout << i << " " << n - i << endl;
  26. break;
  27. }
  28. }
  29. }
  30. return 0;
  31. }