zoukankan      html  css  js  c++  java
  • Golang-递归

    函数的递归调用

      基本介绍

        一个函数在函数体内又调用了本身,我们称为递归调

      递归调用快速入门

        

        上面代码的分析图:

        

        代码2

        

         对上面代码分析的示意图:

        

      递归调用的总结
        函数递归需要遵守的重要原则:

        1)执行一个函数时,就创建一个新的受保护的独立空间(新函数栈)
        2)函数的局部变量是独立的,不会相互影响
        3)递归必须向退出递归的条件逼近,否则就是无限递归,死龟了:)
        4)当一个函数执行完毕,或者遇到 return,就会返回,遵守谁调用,就将结果返回给谁,同时当函数执行完毕或者返回时,该函数本身也会被系统销毁

      递归课堂练习题

        题 1:斐波那契数
          请使用递归的方式,求出斐波那契数 1,1,2,3,5,8,13...
          给你一个整数 n,求出它的斐波那契数是多少?

          思路:
           1) 当 n == 1 || n ==2 , 返 回 1
           2) 当 n >= 2, 返回 前面两个数的和 f(n-1) + f(n-2)
          代码:

           

        题 2:求函数值
          已 知 f(1)=3; f(n) = 2*f(n-1)+1;
          请使用递归的思想编程,求出 f(n)的值?
          思路:

          直接使用给出的表达式即可完成代码:

          

         

        题 3:猴子吃桃子问题
        有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第十天时,想再吃时(还没吃),发现只有 1 个桃子了。问题:最初共多少个桃子?
        思路分析:
          1)第 10 天只有一个桃子
          2)第 9 天有几个桃子 = (第 10 天桃子数量 + 1) * 2
          3)规律: 第 n 天的桃子数据 peach(n) = (peach(n+1) + 1) * 2
          代码:

           

  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/Essaycode/p/12642148.html
Copyright © 2011-2022 走看看