Display startNumber to endNumber only from Fibonacci Sequence

Technology CommunityCategory: Fibonacci SequenceDisplay startNumber to endNumber only from Fibonacci Sequence
VietMX Staff asked 3 years ago

If your language supports iterators (like in Python) you may do something like:

def F():
    a,b = 0,1
    while True:
        yield a
        a, b = b, a + b

Once you know how to generate Fibonacci Numbers you just have to cycle trough the numbers and check if they verify the given conditions.

Suppose now you wrote a f(n) that returns the n-th term of the Fibonacci Sequence:

def SubFib(startNumber, endNumber):
    n = 0
    cur = f(n)
    while cur <= endNumber:
        if startNumber <= cur:
            print cur
        n += 1
        cur = f(n)

or using iterators:

def SubFib(startNumber, endNumber):
    for cur in F():
        if cur > endNumber: return
        if cur >= startNumber:
            yield cur

for i in SubFib(10, 200):
    print i
Implementation
def F():
    a,b = 0,1
    while True:
        yield a
        a, b = b, a + b

def SubFib(startNumber, endNumber):
    for cur in F():
        if cur > endNumber: return
        if cur >= startNumber:
            yield cur

for i in SubFib(10, 200):
    print i