Project Euler 2 Even Fibonacci numbers
题意:斐波那契数列中的每一项都是前两项的和。由1和2开始生成的斐波那契数列前10项为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …考虑该斐波那契数列中不超过四百万的项,求其中为偶数的项之和。
/*************************************************************************
> File Name: euler002.c
> Author: WArobot
> Blog: http://www.cnblogs.com/WArobot/
> Created Time: 2017年06月25日 星期日 10时39分29秒
************************************************************************/
#include <stdio.h>
#include <inttypes.h>
#define MAX_N 50000
void solve(){
int32_t fib[MAX_N] = {0};
fib[1] = 1 , fib[2] = 2; fib[0] = 3;
while( fib[ fib[0] - 1 ] < 4000000 ) {
fib[ fib[0] ] = fib[ fib[0] - 1 ] + fib[ fib[0] - 2 ];
fib[0]++;
}
int64_t sum = 0;
for(int32_t i = 1 ; i <= fib[0] ; i++){
if( !(fib[i] & 1) ) sum += (int64_t)fib[i];
}
printf("%"PRId64"\n",sum);
}
int32_t main(){
solve();
return 0;
}
如要转载请注明转载出处:http://www.cnblogs.com/WArobot