【发布时间】:2010-12-07 13:10:31
【问题描述】:
我在 Project Euler 中遇到了这个问题。
问题是这样问的:
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 求序列中所有不超过四百万的偶数项之和。
到目前为止我的代码:用新代码编辑,但仍然无法正常工作。
static void Main(string[] args)
{
int a = 1;
int b = 2;
int Container = 0;
int Sum = 0;
while (b < 4000000)
{
if (a % 2 == 0)
{
Container += a;
}
Sum = a + b;
a = b;
b = Sum;
}
Container += b;
Console.WriteLine(Container.ToString());
Console.ReadLine();
}
【问题讨论】:
-
因为问题只需要偶数项,请注意模式:(O-for-odd, E-for-Even), OEOOEOOEOOEOOE... 您可以修改您的 fib 生成器以立即返回偶数- 未经测试的术语 %2。