From e558d6936af155e806dee898e53499f17d0baec4 Mon Sep 17 00:00:00 2001 From: materus Date: Mon, 18 Nov 2024 15:55:45 +0100 Subject: [PATCH] Silnia, czas wykonywania - Python --- .../Python/AiSD5_C3/zad3_silnia_czas.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Algorytmy i struktury danych/Python/AiSD5_C3/zad3_silnia_czas.py diff --git a/Algorytmy i struktury danych/Python/AiSD5_C3/zad3_silnia_czas.py b/Algorytmy i struktury danych/Python/AiSD5_C3/zad3_silnia_czas.py new file mode 100644 index 0000000..5a4cbb7 --- /dev/null +++ b/Algorytmy i struktury danych/Python/AiSD5_C3/zad3_silnia_czas.py @@ -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()