zoukankan      html  css  js  c++  java
  • 递归

    递归:

    1:在函数内部调用自己

    2:必须有一个明确的条件判断递归的结束,就是递归的出口

    以下是一些简单的小例子:(阶乘,斐波那契数列)

    (这里可以用到一个小的知识点,arguments)

    eg://首先,要先找出阶乘或者斐波那契数列的规律,如何再结束条件

    //阶乘的规律:以5为例,5!=5*4*3*2*1

    普通的写法

    function fun(n){

       var num=1;

      for(var i=1;i<=n;i++){

      num*=i

      }

    }

    递归:

      function  fun(){      

        if(n==1||n==0){    //一直乘到1,所以当n-1=0或者n0的时候就输出1

        return 1;

        }

        return n*arguments.callee(n-1)    //arguments是一个类数组,有length属性,还有callee,arguments.callee  

       }

    同理,斐波那契数列也可以这样    //1 1  2  3  5  8  13  21  34

    <script>

      function fun(n){

        if(n==1||n==2){    //当n-2=0或者n-1=0时,输出1,因为是从1开始的,第一个数和第二个数相加得到第三个数,第二个数和第三个数相加得到第四个数

      return 1;

      }

      return fun(n-1)+fun(n-2)

    }

    console.log(fun(9))

  • 相关阅读:
    win7共享文件
    Linux之samba服务
    Linux之Apache服务
    Linux之ssh服务
    Linux基础入门之管理linux软件(rpm/yum)
    Linux基础入门之文件管理类命令
    PHP ssh链接sftp上传下载
    Black Hat Python之#2:TCP代理
    Black Hat Python之#1:制作简单的nc工具
    使用python的socket模块进行网络编程
  • 原文地址:https://www.cnblogs.com/3542446186qq/p/10139787.html
Copyright © 2011-2022 走看看