System.ArgumentOutOfRangeException:创建fibonnaci序列时

时间:2017-11-01 13:38:09

标签: c# fibonacci

我正在尝试为小于1百万的数字创建斐波纳契数列,然后找到序列中每个偶数的总和。

为此,我试图创建一个包含Fibonacci序列的列表,然后使用带有mod的for循环来查找偶数(n%2 = 0)然后添加它们但是在尝试创建Fibonacci序列时我遇到了这个错误:

  

System.ArgumentOutOfRangeException。

这是我的代码:

{
    class Program
    {
        static void Main(string[] args)
        {
        // creates a list with the fib[0]= 0 and fib[1] = 1

            List<int> fib = new List<int>(new int [] {0, 1});

        /// for loop that creates the next element in the fib sequence list  by creating the next element by adding the previous two elements.

            for (int i = 2; i < 100; i++)
            {
                fib[i] = (fib[(i - 1)] + fib[(i - 2)]);
            }

            Console.WriteLine(fib);
            Console.ReadLine();
        }
    }
}

这没有构建错误,所以我无法解决问题。我认为i - 2可能会产生一个负数,这就是问题所在,也就是c#的建议,但我不认为是这种情况。

1 个答案:

答案 0 :(得分:1)

列表中只有2个元素,在i=2次迭代中,它会抛出ArgumentOutOfRangeException个异常。