zoukankan      html  css  js  c++  java
  • 递归——8月4日

    一、概念

    函数体内调用本函数自身,直到符合某一条件不再继续调用。 

    二、应满足条件

    1)有反复执行的过程(调用自身);

    2)有跳出反复执行过程的条件(函数出口)

    三、注意事项

    1、递归中必须要存在一个循环结束的条件。

    2、递归函数的每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 递归
    {
        class Program
        {
            //卖羊
            //public int yang(int n)
            //{
            //    int sum = 0;
            //    if (n == 8)
            //    {
            //        return 2;
            //    }
            //    sum = 2 * (yang(n + 1) + 1);           
            //    return sum;
            //}
    
            //猴子吃桃
            public int hs(int n)
            {
                int sum = 0;
                if (n == 10)
                {
                    return 3;
                }
                sum = 4*(hs(n + 1) + 1);
                return sum;
            }
            static void Main(string[] args)
            {
                ////一群羊赶到各村庄去卖,每过一个村卖掉之前总数的1/2零1只,过了7个村庄之后还剩两只,问最初赶出多少羊
                //Program hanshu = new Program();
                //int a = hanshu.yang(1);
                //Console.WriteLine("最初赶了{0}只羊!",a);
                //Console.ReadLine();
    
                //猴子吃桃,第一天吃掉总数的四分之三零一个,以此类推吃了9天后剩下3个,问猴子总共摘了多少桃子
                Program hanshu = new Program();
                int a = hanshu.hs(1);
                Console.WriteLine("猴子总共摘了{0}个桃子!",a);
                Console.ReadLine();
    
            }
        }
    }
  • 相关阅读:
    博客园样式设置
    最坏情况为线性时间的选择算法
    棋盘覆盖
    矩阵乘法的Strassen算法及时间复杂度
    大整数乘法及算法时间复杂度
    全排列问题的递归算法(Perm)
    python的lambda
    python的zip函数
    python操作队列
    mysql基础命令
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5743899.html
Copyright © 2011-2022 走看看