0

プロジェクトオイラーの質問2.

フィボナッチ数列の新しい各項は、前の 2 つの項を追加することによって生成されます。1 と 2 から始めると、最初の 10 項は次のようになります。

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

値が 400 万を超えないフィボナッチ数列の項を考慮して、偶数値の項の合計を見つけます。

私の解決策:

int firstNum = 1;
int secondNum = 2;
int resultNum = firstNum + secondNum;
int sum = 0;

for (int i = 0; i < 4000000; i++)
{
    firstNum = i;
    secondNum = i;

    if(resultNum == firstNum + secondNum)
    {
        sum += resultNum;
        Console.WriteLine(sum);
    }
}

なぜこれが正しくないのでしょうか。正しい考え方に導くことができますか?

4

4 に答える 4

1

これを試して:

    int n1, n2, fib;
        //n1 = 0;
        //n2 = 1;
        n1 = 1;
        n2 = 1;

        fib = n1 + n2;

        while (fib < 4000000)
        {

            n2 = n1;
            n1 = fib;
            fib = n1 + n2;
        }

次に、偶数のフィブ数を見つけて合計します

于 2013-10-08T16:43:56.787 に答える