函数的递归调用

递归调用:函数调用自身

什么时候用递归?函数可用公式表示的时候可以用递归。如求n!,可以令f(n)=n!,将函数用公式表示:f(n)=n*f(n-1)

    class Program
    {
        static int F(int n){
        if(n==1) return 1;
        return n*F(n-1);
        }
        public static void Main(string[] args)
        {
            
            Console.WriteLine(F(5));
            Console.ReadKey();
        }
    }

例如:已知f(0)=2,f(1)=3,f(n)=f(n-1)+f(n-2)。求f(2)

    class Program
    {
        static int F(int n)
        {
            if (n == 0)
                return 2;//f(0)=2
            if (n == 1)
                return 3;//f(1)=3
            //递归调用:函数调用自身
            return F(n - 1) + F(n - 2);//f(n)=f(n-1)+f(n-2)
        }
        public static void Main(string[] args)
        {
            int res = F(2);
            Console.WriteLine(res);//f(2)=5
            Console.ReadKey();
        }
    }