1 print('-----------------------------------------------------------------') 2 print('Iteratív és rekurzív algoritmusok') 3 print('-----------------------------------------------------------------') 4 5 6 def R_osszeg(n, lista): # rekurzív megoldás 7 if n > 0: 8 return R_osszeg(n - 1, lista) + lista[n - 1] 9 else: 10 return 0 11 12 13 def osszeg(lista): # iteratív megoldás 14 sum = 0 15 for i in range(len(lista)): 16 sum += lista[i] 17 return sum 18 19 20 # ----------------------------------------------------------- 21 def R_faktoriális(n): # rekurzív megoldás 22 if n > 1: 23 return n * R_faktoriális(n - 1) 24 else: 25 return 1 26 27 28 def Faktoriális(n): # iteratív megoldás 29 F = 1 30 for i in range(1, n + 1): 31 F = F * i 32 return F 33 34 35 # ----------------------------------------------------------- 36 def R_Fibonacci(n): # rekurzív megoldás 37 if n == 0: 38 return 0 39 if n == 1: 40 return 1 41 if n > 1: 42 return R_Fibonacci(n - 1) + R_Fibonacci(n - 2) 43 44 45 def Fibonacci(n): # iteratív megoldás 46 F = 0; 47 elozo = 1; 48 for i in range(n): 49 kovetkezo = F + elozo; 50 elozo = F; 51 F = kovetkezo; 52 return F; 53 54 55 # ----------------------------------------------------------- 56 lst = [2, 4, 6, 8] 57 print('Összegzés - lista elemei: ', lst) 58 print('"Normál" összegzés eredménye: ', osszeg(lst)) 59 print('Rekurzív összegzés eredménye: ', R_osszeg(len(lst), lst)) 60 61 print('-----------------------------------------------------------------') 62 print('"Normál" faktoriális számítás: ', Faktoriális(int(input('n faktoriális, n=')))) 63 print('Rekurzív faktoriális számítás: ', R_faktoriális(int(input('n faktoriális, n=')))) 64 65 print('-----------------------------------------------------------------') 66 print('"Normál" Fibonacci-számok.. : ', [Fibonacci(i) for i in range(int(input('n Fibonacci-szám, n=')))]) 67 print('"Rekurzív" Fibonacci-számok : ', [R_Fibonacci(i) for i in range(int(input('n Fibonacci-szám, n=')))])