fork download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. const int MAX = 20;
  5.  
  6. bool arrStorePrimes[MAX] = { 0 };
  7.  
  8. void ShowPrimes(int min, int max);
  9.  
  10. bool isPrime(int n)
  11. {
  12. if(n == 1)
  13. return false;
  14.  
  15. if(n < MAX && arrStorePrimes[n] != 0)
  16. {
  17. return true;
  18. }
  19.  
  20. int sq = sqrt(n);
  21.  
  22. for(int i = 3; i <= sq; i += 2)
  23. {
  24. if(n % i == 0)
  25. return false;
  26. }
  27.  
  28. if(n < MAX)
  29. arrStorePrimes[n] = 1;
  30.  
  31. return true;
  32. }
  33. int main()
  34. {
  35. using std::cin;
  36. int num;
  37. cin >> num;
  38. int min, max;
  39.  
  40. while(num)
  41. {
  42. cin >> min;
  43. cin >> max;
  44. ShowPrimes(min, max);
  45. num--;
  46. }
  47. return 0;
  48. }
  49.  
  50. void ShowPrimes(int min, int max)
  51. {
  52. if( min % 2 == 0 )
  53. ++min;
  54. for(int i = min; i <= max; i += 2)
  55. {
  56. if(isPrime(i))
  57. std::cout << i << std::endl;
  58. }
  59. }
Success #stdin #stdout 0s 2688KB
stdin
2
1 10
3 5
stdout
3
5
7
3
5