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()