例题:函数递归。去卖羊,每过一个村子卖掉之前数的二分之一零一只,过了7个村之后还剩2只,问最初有多少羊。

 public int qiuyang(int cun)
        {
            int sum = 0;
            if (cun==7)//如果是第七个村就剩2只,那么函数结束
            {
                sum = 2;
                return sum;
            }
            sum = (qiuyang(cun + 1) + 1) * 2;  //(下一个村数量+1)*2;
            //这一个村的数量是下一个村的数量加一个然后乘以2,
            //qiuyang这个函数被调用,就知道上个村的羊的数量
            //(qiuyang(cun + 1)这个函数被调用,cun+1.是指下个村子
            return sum;
        }
        static void Main(string[] args)
        {
            int sum = new Program().qiuyang(1);
               
            Console.WriteLine(sum);
            Console.ReadLine();

posted @ 2015-04-15 15:24  zhenximeiyitian  阅读(225)  评论(0编辑  收藏  举报