1. 程式人生 > >列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少

列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少

列數的規則如下: 1、1、2、3、5、8、13、21、34…… 求第30位數是多少

分析:從第二個數開始,每位等於前兩個數相加


遞迴:

 public static void Do()
        {
            int endnum = Foo(30);
            Console.WriteLine(endnum.ToString());
        }


        public static int Foo(int index)
        {
            if (index <= 0)
            {
                return
0; } else if (index == 1 || index == 2) { return 1; } return Foo(index - 1) + Foo(index - 2); }

迴圈:

public static void Do2()
        {
            Console.WriteLine(Foo2(30).ToString());
        }

        public
static int Foo2(int positionIndex) { if (positionIndex <= 0) { throw new Exception("處理不了!"); } else if (positionIndex <= 2) { return 1; } int index1 = 1; int
index2 = 1; int index = 0; for (int i = 2; i < positionIndex; i++) { index = index1 + index2; index1 = index2; index2 = index; } return index; }