Example #1
0
def challenge138():
    b1 = fibo()
    b2 = fibo()
    # Step b1 on
    for i in xrange(2):
        b1.next()
    # Step b2 on
    for i in xrange(5):
        b2.next()

    total = 0
    for i in xrange(12):
        next = b1.next() * b2.next()

        v = ((next // 2)**2 + (next + 1)**2)**0.5
        if v == int(v):
            total += int(v)
        else:
            v = ((next // 2)**2 + (next - 1)**2)**0.5
            if v == int(v):
                total += int(v)

        # Step on
        for i in xrange(2):
            b1.next(); b2.next()

    return total
Example #2
0
def challenge025():
    for i, c in izip(fibo(), count(1)):
        l = len(str(i))
        if l > 999:
            if l == 1000:
                return c
            else:
                return
Example #3
0
def challenge002():
    numRange = takewhile(lambda i: i < 4000000, fibo())
    evenNums = (i for i in numRange if (i % 2 == 0))
    return sum(evenNums)