2.
斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
我的代码:
#include<stdio.h>
void main()
{
int f1 = 1, f2 = 2, f3;
int n =0;
double i = 3.0;
long int j = 4, sum = 0;
while(j<4000000)/*先算出不超过的一共有几项*/
{
j = f1 +f2;
f1 = f2;
f2 = j;
n++;
}
f1 =1;
f2 =2;
while(n - 1 > 0)/*判断是否为偶数如果是就 加到sum中*/
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
if(f3%2!=1)
{
sum += f3;
n--;
}
else
{
n--;
}
}
printf("sum = %ld\n",sum+2);
}