Fibonacci n-step number sequences: Difference between revisions

Content added Content deleted
Line 3,480: Line 3,480:
# A000032 :: () -> [Int]
# A000032 :: () -> [Int]
def A000032():
def A000032():
'''Non finite sequence of Lucas numbers
'''Non finite sequence of Lucas numbers.
'''
'''
return unfoldr(recurrence(2))([2, 1])
def relation(xs):
return xs[0], xs[1:] + [sum(take(2)(xs))]

return unfoldr(relation)([2, 1])




Line 3,493: Line 3,490:
defined by a recurrence relation.
defined by a recurrence relation.
'''
'''
return unfoldr(recurrence(n))(
def relation(xs):
return xs[0], xs[1:] + [sum(take(n)(xs))]

return unfoldr(relation)(
take(n)(
take(n)(
chain(
chain(
Line 3,504: Line 3,498:
)
)
)
)


# recurrence :: Int -> [Int] -> Int
def recurrence(n):
'''Recurrence relation in Fibonacci and related series.
'''
def go(xs):
return xs[0], xs[1:] + [sum(take(n)(xs))]
return go