Odpowiedź :
Odpowiedź:
#zad 1
def silnia(x): # funkcja rekurencyjna
if x == 2:
return 2
else:
return silnia(x-1)*x
print(silnia(int(input("podaj liczbę do obliczenia silinii"))))
#zadanie 2
def czy_pierwsza(x):
if x == 2: # czy liczba 2 najmniejsza pierwsza
return True
if x % 2 == 0 or x <= 1: # czy liczba dzieli się na 2 i jest mniejsza od 1
return False
# pętla od 3 do pierwiastka z liczby
for dzielnik in range(3, (int(x**0.5) + 1), 2):
if x % dzielnik == 0:
return False
return True
x= int(input("Wprowadź liczbę do sprawdzenia"))
p = czy_pierwsza(x)
print ("Liczba " + str(x) + ("" if (p == True) else " nie") + " jest liczbą pierwszą")
Wyjaśnienie: