fork(1) download
  1. #include <iostream>
  2. #include <omp.h>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. bool isPrime(int number) {
  8. if (number <= 1) return false;
  9. if (number == 2) return true;
  10. if (number % 2 == 0) return false;
  11. for (int i = 3; i <= sqrt(number); i += 2) {
  12. if (number % i == 0) return false;
  13. }
  14. return true;
  15. }
  16.  
  17. int main() {
  18. int I, N;
  19. cout << "Enter the starting number (I): ";
  20. cin >> I;
  21. cout << "Enter the ending number (N): ";
  22. cin >> N;
  23.  
  24. int prime_count = 0;
  25.  
  26. #pragma omp parallel for reduction(+:prime_count)
  27. for (int i = I; i <= N; ++i) {
  28. if (isPrime(i)) {
  29. prime_count++;
  30. }
  31. }
  32.  
  33. cout << "The number of prime numbers between " << I << " and " << N << " is: " << prime_count << endl;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
Enter the starting number (I): Enter the ending number (N): The number of prime numbers between 171537392 and 21880 is: 0