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 while
pę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.