Algorytm Pythona Prime Checker

Sprawdź, czy liczba jest liczbą pierwszą, używając Pythona. Uruchom nasz interaktywny algorytm, aby zobaczyć wydajną iterację matematyczną i ocenę pierwiastka.

Spróbuj w Edytorze

Przegląd

Liczba pierwsza to dodatnia liczba całkowita większa od 1, która nie ma żadnych dodatnich dzielników innych niż 1 i ona sama.

Najbardziej nieefektywnym sposobem sprawdzenia liczby pierwszej jest iteracja w górę do samej liczby. Skuteczną optymalizacją jest sprawdzanie podzielności tylko do pierwiastka kwadratowego liczby.

Dane wyjściowe kodu i wykonania

Efektywny algorytm sprawdzania liczb pierwszych demonstrujący optymalizację O(sqrt(n)).

prime_checker.py
Spróbuj w Edytorze
import math

def is_prime(n):
    if n <= 1:
        return False
    if n == 2:
        return True
    if n % 2 == 0:
        return False
        
    max_divisor = math.isqrt(n)
    for i in range(3, max_divisor + 1, 2):
        if n % i == 0:
            return False
            
    return True

test_numbers = [2, 10, 17, 25, 97]
for num in test_numbers:
    status = "Prime" if is_prime(num) else "Not Prime"
    print(f"{num:2d} -> {status}")
Wyjście terminala
 2 -> Prime
10 -> Not Prime
17 -> Prime
25 -> Not Prime
97 -> Prime

Wdrażanie krok po kroku

  • Algorytmy kryptograficzne i haszujące
  • Matematyka edukacyjna i teoria sita
  • Weryfikacja backendu dla bezpiecznych kluczy

Często zadawane pytania

Po co sprawdzać tylko do pierwiastka kwadratowego?

Jeśli $n = a \times b$, to co najmniej jeden z czynników ($a$ lub $b$) musi być mniejszy lub równy pierwiastkowi kwadratowemu z $n$. Zatem sprawdzanie wyższych wartości jest zbędne.

Powiązane tematy