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