I_P_W14_M03 Czy liczba jest liczbą pierwszą?
Jakie własności musi posiadać liczbę, aby była liczbą pierwszą.
jak zapisać algorytm w pseudokodzie i języku Java, testujący czy dana liczba jest liczbą pierwszą.
Teraz czas, aby zapisać algorytm w postaci programu w języku Python.
Wersja I (wolniejsza, opiera się na definicji liczby pierwszej)
Plik z programem do pobrania:
Opis działania programu.
Sprawdzamy, czy liczba jest mniejsza od 2; wtedy na pewno nie jest pierwsza.
Szukamy dzielników wśród liczb naturalnych w zakresie od 2 do n‑1:
jeśli znajdziemy dzielnik, liczba nie jest pierwsza,
jeśli nie znajdziemy żadnego, to znaczy, że liczba jest pierwsza.
Ta metoda jest prostsza, ale wolniejsza dla dużych liczb, bo trzeba sprawdzić wszystkie możliwe dzielniki aż do n‑1.
Wersja II (szybsza, sprawdza dzielniki liczby w przedziale <2, sqrt(n)>)
Plik z programem do pobrania:
Opis działania programu:
Sprawdzamy wyjątki: liczby mniejsze od 2 nie są pierwsze, a 2 jest jedyną parzystą liczbą pierwszą.
Odrzucamy parzyste – jeśli liczba > 2 i jest parzysta, od razu zwracamy False.
Sprawdzamy tylko do √n – przyspiesza działanie, bo nie musimy badać wszystkich dzielników.
Iterujemy tylko po nieparzystych (3, 5, 7, …).