斐波那契中的每一个新术语
序列是通过添加
前两个任期从1开始
第二,前十个条件是:
1,2,3,5,8,13,21,34,55,89,…
求所有偶数值之和
顺序中不
超过400万。

        Int64[] Numeros = new Int64[4000005];
        Numeros[0] = 1;
        Numeros[1] = 2;

        Int64 Indice = 2;
        Int64 Acumulador = 2;

        for (int i = 0; i < 4000000; i++)
        {
            Numeros[Indice] = Numeros[Indice - 2] + Numeros[Indice - 1];

            if (Numeros[Indice] % 2 == 0)
            {
                if ((Numeros[Indice] + Acumulador) > 4000000)
                {
                    break;
                }
                else
                {
                    Acumulador += Numeros[Indice];
                }
            }

            Indice++;
        }

        Console.WriteLine(Acumulador);
        Console.ReadLine();

我的程序没有正常运行,因为在欧拉项目上,他们说我的答案是错误的也许我忽略了什么。有什么帮助吗?

最佳答案

这条线

if ((Numeros[Indice] + Acumulador) > 4000000)

正在检查总和是否大于4毫米您需要检查术语(numeros[indice])是否大于4毫米。所以把它改成这个…
if (Numeros[Indice] > 4000000)

可能是个好的开始。

10-07 13:16