• JS:递归基础及范例——斐波那契数列 、 杨辉三角


    定义:程序调用自身的编程技巧称为递归。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。

    一般应用于不是清晰级别的结构名调用上。

    构成递归需具备的条件:
    1. 子问题须与原始问题为同样的事,且更为简单;
    2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
     
    例1:斐波那契数列
    //斐波那契数列,又称黄金分割数列,指的是这样一个数列:
    //1、1、2、3、5、8、13、21、……
    //求第i个数
    <script>
    function sl(var i){  
        if(i<=2){  
            return 1;  
        }  else{
           return sl(i-1)+sl(i-2);  
     }
    }
    </script>
    例2:杨辉三角
    //            1         
    //          1   1
    //        1   2   1                                  //第n行第m个数:n=3,m=2时,数字为2;
    //      1   3   3   1
    //   1   4   6   4   1
    //     ......
    //求第n行第m个数
    <script>
    function yhsj(n,m){
      if(m>n){
        return false;
      } else {
            if(m==1 || m==n){
            return 1;
              } else {
              return yhsj(n-1,m) + yhsj(n-1,m-1);
              }
         }
    }
    </script>
  • 相关阅读:
    JQ之html,text,val
    JQuery之编写弹窗
    DOM操作HTML元素属性
    DOM操作表格
    无缝滚动效果
    Date日期基础
    CISSP备考总结
    CISA考试大纲即将更新
    备考CISSP
    cisa备考体会
  • 原文地址:https://www.cnblogs.com/cmzhphp2017/p/7659112.html
Copyright © 2020-2023  润新知