fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <string>
  5. #include <stack>
  6.  
  7. #define sizeTotal 32000
  8.  
  9. using namespace std;
  10.  
  11. int main() {
  12. vector<long long>prePrime;
  13. vector<bool> primeGen(sizeTotal + 1, true);
  14. for (int i = 2; i <= sizeTotal; i ++) {
  15. if (primeGen[i]) {
  16. prePrime.push_back(i);
  17. for (int j = i * i; j <= sizeTotal; j += i) {
  18. primeGen[j] = false;
  19. }
  20. }
  21. }
  22. int n;
  23. long long low, high;
  24.  
  25. cin >> n;
  26. while (n--) {
  27. cout << endl;
  28. cin >> low >> high;
  29. vector<bool>primesInRange(high - low + 1, true);
  30. if (low == 1)
  31. primesInRange[0] = false;
  32. for (long long i : prePrime) {
  33.  
  34. if (i * i > high)
  35. break;
  36. long long bottom = low / (i * i) * i * i;
  37. if (bottom < low)
  38. bottom += i * i;
  39. for (long long j = bottom; j <= high; j += i) {
  40. primesInRange[j - low] = false;
  41. }
  42. }
  43. for (long long k = 0; k < high - low + 1; k++) {
  44. if (primesInRange[k])
  45. cout << k + low << endl;
  46. }
  47.  
  48.  
  49. }
  50. return 0;
  51. }
  52.  
Runtime error #stdin #stdout #stderr 0s 4536KB
stdin
Standard input is empty
stdout

	
stderr
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc