-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheuler2.py
More file actions
37 lines (24 loc) · 673 Bytes
/
euler2.py
File metadata and controls
37 lines (24 loc) · 673 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def sum_even_fibonacci(max_term):
"""Returns the sum of all the even Fibonacci terms within the specified range.
>>> sum_even_fibonacci(89)
44
"""
fibs = fibonacci(max_term)
even_fibs = []
for fib in fibs:
if fib % 2 == 0:
even_fibs.append(fib)
return sum(even_fibs)
def fibonacci(max_term):
"""Calculate fibonacci WITHOUT recursion."""
fibs = [0, 1]
while True:
new_fib = fibs[-1] + fibs[-2]
if new_fib > max_term:
break
fibs.append(new_fib)
return fibs
print sum_even_fibonacci(4000000)
if __name__ == "__main__":
import doctest
doctest.testmod()