Guest User

Untitled

a guest
Jun 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. #define TABLE_SIZE 1000001
  8.  
  9. bool is_prime[TABLE_SIZE+1];
  10. int n, m;
  11.  
  12. void makePrimeTable(void) {
  13. for (int i = 2; i <= TABLE_SIZE; ++i)
  14. is_prime[i] = true;
  15. for (int i = 2; i * i <= TABLE_SIZE; ++i)
  16. if (is_prime[i])
  17. for (int j = i * 2; j <= TABLE_SIZE; j += i)
  18. is_prime[j] = false;
  19. }
  20.  
  21.  
  22.  
  23. int main(int argc, char const *argv[]) {
  24. int n, p;
  25. makePrimeTable();
  26. while (cin >> n >> p && ~n) {
  27. vector < int > prime, matsu;
  28. for (int i = n + 1; i <= n + 1000; ++i)
  29. if (is_prime[i]) prime.push_back(i);
  30. for (int i = 0; i < prime.size(); ++i)
  31. for (int j = i; j < prime.size(); ++j)
  32. matsu.push_back(prime[i] + prime[j]);
  33. sort(matsu.begin(), matsu.end());
  34. cout << matsu[p-1] << endl;
  35. }
  36. return 0;
  37. }
Add Comment
Please, Sign In to add comment