欧拉计划2-在斐波那契数列中,找出4百万以下的项中值为偶数的项之和

题目:

斐波那契数列中的每一项被定义为前两项之和。从 1 和 2 开始,斐波那契数列的前十项为:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

考虑斐波那契数列中数值不超过 4 百万的项,找出这些项中值为偶数的项之和。

分析:题目是没什么难度,不过第一次写还是有一个地方错了。我们都知道斐波那契数列的前几项,所以在计算的时候会先写出来f[1] = 1,f[2] = 2;然后再用循环计算其他的,这里需要注意的是f[2]也是偶数,所以,sum的初始值应该是2,而不是零;或者在最后输出的时候sum+2。

#include
int main()
{
	int i;
	int a[201],sum=2;
	a[1] = 1;a[2] = 2;
	for(i = 3; ; i ++)
	{
		a[i] = a[i-1] + a[i-2];
		if(a[i] > 4000000)
			break;
		if(a[i] % 2 == 0)
			sum += a[i];
	}
	printf("%d\n",sum);
	return 0;
}

 

你可能感兴趣的:(欧拉计划2-在斐波那契数列中,找出4百万以下的项中值为偶数的项之和)