27 lines
428 B
Python
27 lines
428 B
Python
import sys
|
|
import functools
|
|
|
|
|
|
@functools.lru_cache()
|
|
def fibonacci_cached(n):
|
|
if n < 2:
|
|
return n
|
|
else:
|
|
return fibonacci_cached(n - 1) + fibonacci_cached(n - 2)
|
|
|
|
|
|
def fibonacci(n):
|
|
if n < 2:
|
|
return n
|
|
else:
|
|
return fibonacci(n - 1) + fibonacci(n - 2)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
n = 30
|
|
if sys.argv[-1] == 'cache':
|
|
fibonacci_cached(n)
|
|
else:
|
|
fibonacci(n)
|
|
|