#!/usr/bin/env python3 def memoize(func):# a decorator memory = {} def new_func(argument): if argument in memory: return memory[argument] else: value = func(argument) memory[argument] = value return value return new_func @memoize def fibonacci(n): if 0 <= n <= 1: return n return fibonacci(n-1) + fibonacci(n-2) @memoize def brocot(n): if 0 <= n <= 1: return (2, 1)[i] return brocot(n-1) + brocot(n-2) for i in range(200): print(i, fibonacci(i), sep="\t") #print(i, fibonacci(i), brocot(i), sep="\t")