Silnia, czas wykonywania - Python
This commit is contained in:
parent
bb0bda28ae
commit
e558d6936a
|
@ -0,0 +1,40 @@
|
||||||
|
from datetime import datetime
|
||||||
|
def Czytaj_liczbe():
|
||||||
|
return int(input("Podaj liczbe calkowita: "))
|
||||||
|
def Silnia_rekurencyjna(n):
|
||||||
|
if(n==0):
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return n * Silnia_rekurencyjna(n-1);
|
||||||
|
def Silnia_iteracyjna(n):
|
||||||
|
wynik = 1
|
||||||
|
for i in range(1,n+1):
|
||||||
|
wynik = wynik*i
|
||||||
|
return wynik
|
||||||
|
def Wypisz_wynikli(liczba,ile,wynikRek,wynikIter,CzasI,CzasR):
|
||||||
|
print("Podana liczba:", liczba);
|
||||||
|
print("Podana liczba iteracji", ile);
|
||||||
|
print("Czas silni rekurencyjnej:", CzasR, 'sekund');
|
||||||
|
print("Silnia rekurencyjna:", wynikRek);
|
||||||
|
print("Czas silni iteracyjnej:", CzasI, 'sekund');
|
||||||
|
print("Silnia iteracyjna:", wynikIter);
|
||||||
|
def Glowna_procedura():
|
||||||
|
wynikR = 0
|
||||||
|
wynikI = 0
|
||||||
|
liczba = Czytaj_liczbe()
|
||||||
|
ile = int(input("Podaj liczbe iteracji: "))
|
||||||
|
CzasI = datetime.today()
|
||||||
|
for i in range(0,ile+1):
|
||||||
|
wynikI = Silnia_iteracyjna(liczba)
|
||||||
|
CzasI = datetime.today() - CzasI
|
||||||
|
CzasI = CzasI.seconds+CzasI.microseconds*0.000001
|
||||||
|
|
||||||
|
CzasR = datetime.today()
|
||||||
|
for i in range(0,ile+1):
|
||||||
|
wynikR = Silnia_rekurencyjna(liczba)
|
||||||
|
CzasR = datetime.today() - CzasR
|
||||||
|
CzasR = CzasR.seconds+CzasR.microseconds*0.000001
|
||||||
|
|
||||||
|
Wypisz_wynikli(liczba,ile,wynikR,wynikI,CzasI,CzasR)
|
||||||
|
|
||||||
|
Glowna_procedura()
|
Loading…
Reference in New Issue