Program C ++ do wyświetlania liczb pierwszych między dwoma interwałami

Przykład wydrukowania wszystkich liczb pierwszych między dwiema liczbami (wprowadzonymi przez użytkownika) w Programowaniu w C ++. Ten problem można rozwiązać za pomocą zagnieżdżonej pętli for i instrukcji if… else.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • C ++ if, if… else i Nested if… else
  • C ++ dla pętli
  • Instrukcja break and continue w języku C ++

Przykład 1: Wyświetl liczby pierwsze między dwoma przedziałami

 #include using namespace std; int main() ( int low, high, i; bool isPrime = true; cout <> low>> high; cout << "Prime numbers between " << low << " and " << high << " are: " << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Wynik

 Wpisz dwie liczby (przedziały): 0 20 Liczby pierwsze od 0 do 20 to: 2 3 5 7 11 13 17 19

W tym programie whilepętla jest powtarzana (high - low - 1)razy.

W każdej iteracji sprawdzane jest, czy low jest liczbą pierwszą, czy nie, a wartość low jest zwiększana o 1, aż niski jest równy high.

Odwiedź tę stronę, aby dowiedzieć się więcej o tym, jak sprawdzić, czy liczba jest liczbą pierwszą, czy nie.

Jeśli użytkownik wpisze najpierw większą liczbę, program nie będzie działał zgodnie z przeznaczeniem. Możesz rozwiązać ten problem, zamieniając liczby, jeśli użytkownik wpisze najpierw większą liczbę.

Przykład 2: Wyświetl liczby pierwsze, gdy jako pierwsza zostanie wprowadzona większa liczba

 #include using namespace std; int main() ( int low, high, temp, i; bool isPrime; cout <> low>> high; //swapping numbers if low is greater than high if (low> high) ( temp = low; low = high; high = temp; ) cout << "Prime numbers between " << low << " and " << high << " are:" << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Wynik

 Wpisz dwie liczby (przedziały): 20 0 Liczby pierwsze od 0 do 20 to: 2 3 5 7 11 13 17 19

Odwiedź tę stronę, aby dowiedzieć się, jak wyświetlić wszystkie liczby pierwsze między dwoma przedziałami za pomocą funkcji zdefiniowanej przez użytkownika.

Interesujące artykuły...