# výpočet se zapamatování # slovník zapamatovaných hodnot fib = {} # upravená funkce pro výpočet n-tého členu Fibonacciho posloupnosti def fibonacci_s_memoizaci(n): # Nepočítali jsme už žádanou hodnotu? try: return fib[n] # Ne, ještě ne: except KeyError: if n <= 1: return n else: # ..spočítejme ji val = fibonacci_s_memoizaci(n-1) + fibonacci_s_memoizaci(n-2) # ..a nyní už ji jako známou uložme a vraťme fib[n] = val return val for x in range(40): print(x, fibonacci_s_memoizaci(x))