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
def challenge025(): for i, c in izip(fibo(), count(1)): l = len(str(i)) if l > 999: if l == 1000: return c else: return
def challenge002(): numRange = takewhile(lambda i: i < 4000000, fibo()) evenNums = (i for i in numRange if (i % 2 == 0)) return sum(evenNums)