第二日 斐波那契数列的偶数项和

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
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<

你可能感兴趣的:(第二日 斐波那契数列的偶数项和)