Fibonacci序列使用数组

时间:2012-06-11 12:30:34

标签: fibonacci

在这里为自己的屠杀做准备。

已检查其他问题,并且似乎无法找到以下代码的IndexOutOfRange异常的原因:

public static int fib2(int n)
    {
        int[] fibarray = new int[n];

        if (n == 0) return 0;

            fibarray[0] = 0;
            fibarray[1] = 1;

            for (int i = 2; i < n; i++)
            {
                fibarray[i] = fibarray[i - 1] + fibarray[i - 2];

            }

            return fibarray[n];

     }

这是非常愚蠢的东西我确定但是它让我变得邋((双关语)......

1 个答案:

答案 0 :(得分:4)

那是最后一行!

return fibarray[n];

表格中的最后一个索引是n-1,而不是n。

<强>更新

就像阿提拉说的那样,如果n = 1,就行了

fibarray[1] = 1;

还将制作IndexOutOfRange