from math import sqrt def czy_pierwsza(n): """ Funkcja sprawdza, czy liczba n jest liczbą pierwszą. Liczba pierwsza to taka, która ma dokładnie dwa dzielniki: 1 i samą siebie. """ # liczby mniejsze niż 2 nie są pierwsze if n < 2: return False # 2 jest pierwsza if n == 2: return True # liczby parzyste większe od 2 nie są pierwsze if n % 2 == 0: return False # sprawdzamy dzielniki tylko do pierwiastka z n # bo jeśli n = a * b, to przynajmniej jeden z czynników ≤ √n p = int(sqrt(n)) for i in range(3, p + 1, 2): # sprawdzamy tylko liczby nieparzyste if n % i == 0: return False return True # ----------------------------- # Program główny # ----------------------------- liczba = int(input("Podaj liczbę: ")) if czy_pierwsza(liczba): print(f"Liczba {liczba} jest liczbą pierwszą.") else: print(f"Liczba {liczba} nie jest liczbą pierwszą.")