递归算法

递归算法

方法一:

public static int Sum(int poi)

        {
           //退出条件,递归算法重点
            if (poi == 1 || poi ==2)
                return 1;
            else
                return Sum(poi - 1) + Sum(poi - 2);
        }

        static void Main(string[] args)
        {
            int sum = 0;
            for (int i = 0; i <=1; i++)
            {
                sum = sum + i;
            }
            Console.WriteLine(Sum(1) + "," + Sum(2) + "," + Sum(3) + "," + Sum(4) + "," + Sum(5) + "," + Sum(6));
            //Console.WriteLine(Sum(2));
            //Console.WriteLine(Sum(3));
            //Console.WriteLine(Sum(4));
            //Console.WriteLine(Sum(5));
            //Console.WriteLine(Sum(6));
            Console.ReadLine();

        }


方法二:

递归算法递归算法

 

方法三:

publicclass MainClass

    { public static void Main()  

        { Console.WriteLine(Foo(30));

        }public static int Foo(int i)

        { if (i <= 0)

                return 0;

            else if(i > 0 && i <=2)

                return 1;

            else return Foo(i -1) + Foo(i - 2);

        }

    }