Opis: Temat obejmuje omówienie algorytmu wyznaczania liczb pierwszych.
Algorytm wyznaczania liczb pierwszych przez sprawdzanie dzielników
Algorytm wyznaczania liczb pierwszych poprzez sprawdzanie dzielników polega na sprawdzaniu, czy dana liczba ma dzielniki inne niż 1 i sama siebie. Jeśli takie dzielniki istnieją, liczba jest liczbą złożoną i nie jest liczbą pierwszą. Jeśli nie ma innych dzielników, liczba jest uznawana za liczbę pierwszą.
Kluczowa idea
Algorytm opiera się na prostym fakcie, że liczba n jest liczbą pierwszą, jeśli ma dokładnie dwa dzielniki: 1 i samą siebie. Aby sprawdzić, czy liczba n jest liczbą pierwszą, należy przetestować wszystkie potencjalne dzielniki z przedziału od 2 do √n. Jeśli liczba n nie ma dzielnika w tym przedziale, uznajemy ją za liczbę pierwszą.
Zdefiniuj liczbę n, którą chcesz sprawdzić.
Jeśli n jest mniejsze niż 2, nie jest liczbą pierwszą.
Dla każdej liczby d z przedziału od 2 do √n :
Jeśli n dzieli się przez d, liczba n nie jest liczbą pierwszą.
Jeśli po przetestowaniu wszystkich dzielników liczba nie dzieliła się przez żaden z nich, to n jest liczbą pierwszą.
Zakończ algorytm, zwracając wynik.
Przykład działania
Rozważmy liczbę 29 i sprawdźmy, czy jest liczbą pierwszą:
Krok 1: 29 jest większe od 2, więc można kontynuować.
Krok 2: Sprawdzamy, czy 29 dzieli się przez liczby z przedziału [2,√29], czyli 2,3,4,5.
Krok 3: 29 nie dzieli się przez żadną z tych liczb, więc 29 jest liczbą pierwszą.
Złożoność algorytmu
Złożoność czasowa algorytmu wynosi O(√n ), ponieważ liczby pierwsze są sprawdzane na podstawie dzielników tylko do √n. To znacząco przyspiesza algorytm w porównaniu do pełnego testowania wszystkich liczb od 2 do n−1.
Zastosowanie algorytmu
Algorytm ten jest przydatny do prostego i efektywnego sprawdzania, czy dana liczba jest pierwsza. Znajduje zastosowanie w różnych dziedzinach, takich jak analiza liczb, algorytmy numeryczne czy kryptografia.
Wykaz początkowych liczb pierwszych:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97...
Algorytm wyznaczania liczb pierwszych polega na sprawdzaniu, czy dana liczba nie ma dzielników innych niż 1 i sama siebie. W każdym kroku, jeśli zostanie znaleziony dzielnik, liczba jest pomijana. W przeciwnym razie, jeśli nie ma dzielników, liczba jest uznawana za pierwszą i wyświetlana.
Algorytm wyznaczania liczb pierwszych
Wejście:
n - liczba, którą chcemy sprawdzić pod kątem pierwszości.
Wyjście:
n - jeżeli n jest liczbą pierwszą, to ją wyświetlamy.
Zmienne pomocnicze:
d - zmienna przechowująca potencjalne dzielniki (od 2 do sqrt(n)). cmath - biblioteka potrzebna do funkcji sqrt()
Lista kroków:
K1: Jeśli n < 2
to zwróć (n nie jest liczbą pierwszą)
K2: Dla d od 2 do sqrt(n)
wykonuj kroki od K3 do K4
K3: Jeśli n % d = 0
to zwróć (n nie jest liczbą pierwszą)
K4: Zakończ pętlę
K5: Wyświetl n (n jest liczbą pierwszą)
Wynik działania programu:
Podaj liczbe: 29
29 jest liczba pierwsza.