Euler Problem 2: Even Fibonacci numbers : C Programming Solution
Problem 2:
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.
Solution Approach:
Question starts of with introduction to Fibonacci sequence, which by the way, is a very interesting topic and highly encourage you guys to read about it in web whenever you get time.
Idea is to get the “next” element of Fibonacci series by adding the “present” and “previous” element. When the element is an even number, add to the “sum” variable. Very simple indeed. Give it a try for yourself before checking the problem solution below.
Solution :
#include "stdio.h" #define LIMIT 4000000 int main () { int prev = 1; int pres = 1; int next = 0; /* initialiaze with 0 for initial loop condition. */ int sum = 0; while(next < LIMIT) { next = prev + pres; /* get the next element */ if( !(next%2) ) sum+=next; prev = pres; pres = next; } printf (" sum is %d \n", sum); return 0; }
Answer: 4613732
Let me know your approach you happen to find a better way to solve this using C programming in the comment section below.