我在Project Euler中遇到了這個問題。在C#中查找斐波那契數列。 [歐拉練習項目]
這裏的問題問什麼:
在Fibonacci序列中的每個新名詞是通過將前兩個方面產生。從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();
}
參見:http://stackoverflow.com/questions/406446/refactoring-fibonacci-algorithm – 2009-10-17 07:41:53
因爲問題只希望偶而言,需要注意的格局:(O-對於奇, E-for-Even),OEOOEOOEOOEOOE ...你可以修改你的fib-generator來立即返回偶數條件而不需要測試%2。 – abelenky 2009-10-17 16:49:20