def problem104(n, first=False, last=False): """XXX: Works, but have no solution after 16h""" assert first or last digits = set(map(str, range(1, n + 1))) for i, f in enumerate(fibonacci()): f = str(f) if first and not set(f[:n]) == digits: continue if last and not set(f[-n:]) == digits: continue return i + 1
def problem002(max): return sum([i for i in fibonacci(max) if i % 2 == 0])
def problem025(n): for i, f in enumerate(fibonacci()): if len(str(f)) >= n: return i + 1
from itertools import takewhile from eulerlib import fibonacci print( sum(x for x in takewhile(lambda x: x <= 4000000, fibonacci()) if x & 1 == 0))