概念:函数体内调用本函数自身,知道符合某一条件不再继续调用。

满足条件:又反复执行的过程,有跳出反复执行过程的条件。

注意:递归中必须要存在一个循环结束的条件。递归函数的每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。

羊过村庄问题

public int digui(int cun)

        {

                 int sum = 0;

 

                

                if ( cun == 7)

                {

                  return 2;

                }

            sum = (digui(cun+1) + 1) * 2;//反复执行,知道满足条件

                return sum ;

           

 

        }

static void Main(string[] args)

        {

            Program han = new Program();

 

            int sum = han.digui(0);

            Console.WriteLine(sum);

            Console.ReadLine();

}

阶乘

public int jiecheng(int i)

        {

            int sum = 0;

            if(i==1)

            {

                return i;

            }

            sum = i * jiecheng(i - 1);

            return sum;

        }

  static void Main(string[] args)

        {

            Program han = new Program();

Console.WriteLine(han.jiecheng (5));

            Console.ReadLine();

        }

posted on 2016-08-05 16:51  懒人起烂名  阅读(142)  评论(0)    收藏  举报