zoukankan      html  css  js  c++  java
  • 玩转递归

    所谓递归可以说成函数调函数

    如我们 return  eat3(n - 1) * 2 + 2 (大圣吃桃子)

    下面上图看递归原理:

    递归牵连到两个概念 压栈和出栈

    看完图相信大家应该懂了是怎么回事(这么压栈内存可不少哦)

    下面上吃桃子的代码:

      class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine(eat3(10));
            }
    
            public static int eat2(int n)
            {
                int a = 1;
    
                if (n == 1)
                {
                    return 1;
                }
                else
                {
                    a = eat2(n - 1) * 2 + 2;
                }
    
                return a;
            }
    
            //递归
            public static int eat3(int n)
            {
                //eat2方法简写三目表达式
                 return n == 1 ? 1 : eat3(n - 1) * 2 + 2;
            }
    
            //递推
            public static int eat(int n)
            {
                int a = 1;
                
                for (int i = 2; i <=n; i++)
                {
                    a = 2 * a + 2;
                }
    
                return a;
    
            }
    }
  • 相关阅读:
    form表单介绍
    if条件语句
    表格.html
    列表.html
    CSS Js链接HTML文件
    DQL
    mysql介绍
    第一次接触mysql
    逻辑运算、作用域问题、DOM
    Js数据类型具体分析
  • 原文地址:https://www.cnblogs.com/yzenet/p/5090177.html
Copyright © 2011-2022 走看看