RosettaCodeData/Task/Fibonacci-sequence/Python/fibonacci-sequence-15.py

22 lines
398 B
Python

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