# Even Fibonacci numbers

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

The solution is straightforward. Create a function taking an integer `n`

which creates a classic Fibonacci sequence,

\begin{equation*}

F_n = F_{n-1} + F_{n-2}

\end{equation*}

where $F_0 = 0$ and $F_1 = 1$.

With an `if`

instruction, add only the even numbers of this sequence. Finally return the result.

Of course, any suggestions or improvements are always welcome in the comments.

def sum_even_fib(n): sumfib = 0 a, b = 0, 1 while b < n: a, b = b, a + b if b % 2 == 0: sumfib = sumfib + b return sumfib print(sum_even_fib(4000000)) |

can you optimize it..? is there any better approach.?

i have ignored the euler project as well :/

Optimized code

http://codefirst-net.blogspot.in/2015/10/project-euler-2-even-fibonacci-numbers.html

You can optimize this if you realize that every other 3rd number in the sequence is an even number…