fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4. #include <stdio.h>
  5. #include <vector>
  6. #include <math.h>
  7. using namespace std;
  8.  
  9. void findPrimes(int min,int max){
  10. if(min == 1)
  11. min++;
  12. int vectorsize = int(sqrt(max-1));
  13. vector<bool> primesVector(vectorsize,true);
  14. int arrSize = max-min+1;
  15. bool mArr[arrSize];
  16. for(int i=0;i<vectorsize;i++){
  17. if(primesVector[i] == true){
  18. i += i+2;
  19. while(i<vectorsize){
  20. primesVector[i] = false;
  21. i += i+2;
  22. }
  23. }
  24. }
  25.  
  26. for(int i=0;i<vectorsize;i++){
  27. if(primesVector[i]){
  28. for(int j=0;j<arrSize;j++){
  29. if((j+min)%(i+2)==0){
  30. if((j+min)==(i+2))
  31. j += i+2;
  32. while(j<arrSize){
  33. mArr[j] = true;
  34. j += i+2;
  35. }
  36. }
  37. }
  38. }
  39. }
  40. for(int j=0;j<arrSize;j++){
  41. if(mArr[j] == false)
  42. cout << j+min << endl;
  43. }
  44. }
  45.  
  46. int main () {
  47. int n;
  48. cin >> n;
  49. for(int i=0;i<n;i++){
  50. int min, max;
  51. cin >> min >> max;
  52. findPrimes(min,max);
  53. if(i<n-1)
  54. cout << endl;
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0s 3432KB
stdin
2
1 10
3 5
stdout
3
5

5