博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归函数
阅读量:4618 次
发布时间:2019-06-09

本文共 757 字,大约阅读时间需要 2 分钟。

  在编程语言中,函数直接或间接调用本身,则该函数称为递归函数。递归函数提供了不一样的解题思维方式,使用它来解题往往程序要短小的多,思维也会很清晰。

  递归函数的应用场景:

    1:问题的定义是递归的(阶乘函数、幂函数和斐波那契数列)

    2:问题所涉及的数据结构是递归的

    3:问题的解法满足递归的性质(Hanoi(汉诺)塔问题)

  书写递归函数要掌握的三要素:

    1:递归终止条件

    2:终止时的处理办法

    3:对函数本身的递归调用

  问题:用递归函数实现斐波那契数列(1,2,3,5,8,13...)

    解析:数学分析可得:

      终止条件及其处理办法为 n = 1时,值为1;n = 2时,值为2

      当在以上情况外时,值为前两个值之和

      ==================================================================================

      s(n) = 1    n = 1

      s(n) = 2    n = 2

      s(n) = s(n-1) + s(n-2)   n >2

    代码:

function s($n){        if($n == 1){            return 1;        }else if($n == 2){            return 2;        }else{            return s($n - 1) + s($n - 2);        }    }

 

转载于:https://www.cnblogs.com/FallIntoDarkness/p/9863553.html

你可能感兴趣的文章
编程风格
查看>>
熟悉常用的Linux命令
查看>>
易之 - 我是个大师(2014年3月6日)
查看>>
Delphi中窗体的事件
查看>>
file_get_contents()获取https出现这个错误Unable to find the wrapper “https” – did
查看>>
linux vi编辑器
查看>>
js树形结构-----(BST)二叉树增删查
查看>>
contract
查看>>
Python语言编程
查看>>
[poj 1469]Courses
查看>>
vue+element-ui实现表格checkbox单选
查看>>
测试开发学习进阶教程 视频&PDF
查看>>
C#基础-连接Access与SQL Server
查看>>
autofac
查看>>
MacOS 系统终端上传文件到 linux 服务器
查看>>
Excel导出POI
查看>>
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>
网络编程基础之socket编程
查看>>