Liczba pierwsza to liczba naturalna większa od 1, która dzieli się wyłącznie przez 1 i samą siebie. Przykłady liczb pierwszych to: 2, 3, 5, 7, 11, 13, 17, ... Liczba złożona to liczba naturalna większa od 1, która posiada więcej niż dwa dzielniki. Oznacza to, że można ją rozłożyć na iloczyn liczb mniejszych od niej samej. Przykłady liczb złożonych: 4 (2×2), 6 (2×3), 8 (2×4), 9 (3×3), 10 (2×5), ...
Liczba jest podzielna przez 3, jeśli suma jej cyfr jest podzielna przez 3. Przykłady:
# Funkcja sprawdza, czy liczba podana przez użytkownika jest podzielna przez 3.
def podzielna_przez_3():
liczba = int(input("Podaj liczbę: "))
suma_cyfr = sum(int(cyfra) for cyfra in str(liczba))
if suma_cyfr % 3 == 0:
print(f"Liczba {liczba} jest podzielna przez 3.")
else:
print(f"Liczba {liczba} nie jest podzielna przez 3.")
podzielna_przez_3()
Jeśli chcemy sprawdzić podzielność przez więcej niż jedną liczbę, możemy użyć operatora modulo (%) dla każdej z nich. Na przykład, sprawdzenie podzielności przez 2, 3 i 5:
# Funkcja sprawdza podzielność liczby przez wiele podanych dzielników.
def podzielna_przez_kilka():
liczba = int(input("Podaj liczbę: "))
dzielniki = list(map(int, input("Podaj dzielniki oddzielone spacją: ").split()))
podzielne = [d for d in dzielniki if liczba % d == 0]
niepodzielne = [d for d in dzielniki if liczba % d != 0]
if podzielne:
print(f"Liczba {liczba} jest podzielna przez: {', '.join(map(str, podzielne))}.")
if niepodzielne:
print(f"Liczba {liczba} nie jest podzielna przez: {', '.join(map(str, niepodzielne))}.")
podzielna_przez_kilka()
Sprawdzanie, czy liczba jest pierwsza, polega na sprawdzeniu, czy dzieli się przez jakąkolwiek liczbę mniejszą od siebie (ale większą od 1). W Pythonie można to zapisać tak:
# Funkcja sprawdza, czy podana liczba jest pierwsza.
def czy_pierwsza():
n = int(input("Podaj liczbę: "))
if n < 2:
print(f"Liczba {n} nie jest liczbą pierwszą.")
return
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
print(f"Liczba {n} nie jest liczbą pierwszą, dzieli się przez {i}.")
return
print(f"Liczba {n} jest liczbą pierwszą.")
czy_pierwsza()