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.
Haskell:
answer = sum [n|n<-takeWhile (<=4000000) fib,n`mod`2==0]
where fib = 0:1:zipWith (+) fib (tail fib)
C++:
#include<iostream>
using namespace std;
int main(){
unsigned long int a=1,b=2,c=0,sum=2;
while(1){
if(c>=1000000) break;
c=a+b;
if(!(c%2)) sum += c;
a=b;
b=c;
}
cout<<sum;
return 0;
}