22 lines
408 B
Python
22 lines
408 B
Python
'''Nth Fibonacci term (by folding)'''
|
|
|
|
from functools import reduce
|
|
from operator import add
|
|
|
|
|
|
# nthFib :: Integer -> Integer
|
|
def nthFib(n):
|
|
'''Nth integer in the Fibonacci series.'''
|
|
def go(ab, _):
|
|
return ab[1], add(*ab)
|
|
return reduce(go, range(1, n), (0, 1))[1]
|
|
|
|
|
|
# MAIN ---
|
|
if __name__ == '__main__':
|
|
print(
|
|
'1000th term: ' + repr(
|
|
nthFib(1000)
|
|
)
|
|
)
|