zoukankan      html  css  js  c++  java
  • 递归函数

    递归函数:在函数内部自己调用自己的函数
    递归能做循环能做的所有事情
    循环做不了的 递归也能做
    递归写 1+2+3+...+n;


    方法:

    1.找临界值:无须计算,即可得出的值:-退出递归
    2.这一次和上一次运算的关系:+n
    3.假设当前函数可以运行,根据上一次调用自身运算的结果,写出这次的运算结果
    addSum() addSum(49) 1+2+..+50 = addSum(49)+50

    ->推断出 第n次运算与第n-1次运算的关系 addSum(n) = asddSum(n-1)+n;

    一个标准的递归函数 必须有参数 有返回值

    function addSum(n){

    if(n==1){
    return 1;
    }
    return addSum(n-1)+n

    }
    console.log(addSum(100));

     输入一个n,打印n个hello world 使用递归

     

    兔子繁殖问题,设有一对新生兔子,从第四个月开始他们每个月月初
    都生一对兔子,新生的兔子从第四个月月初开始又每个月生一对兔子,
    按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?

    这个逻辑性比较强,以后自己再慢慢研究,有点难理解。

    有个规律,也是很有名的斐波那契数列,又称黄金分割数列,因为以‘兔子繁殖’而引入,所以也称‘兔子数列’。

    这个大致规律如下:

      数组规律:    1 2 3 4 5 6 7 8 9 10 月份
           兔子:   1 1 1 2 3 4 6 9 13 19 兔子数量
    // 斐波那契数列 f(n) = f(n-1)+f(n-3)

    上代码

  • 相关阅读:
    虚拟机搭建Hadoop集群
    多线程编程之保护性暂挂模式
    Java多线程编程之不可变对象模式
    多线程编程之两阶段终止模式
    Spring自定义标签解析与实现
    Spring Bean注册解析(二)
    苹果ios开发
    java
    layui 单选项 点击显示与隐藏
    PHP -- 七牛云 在线视频 获取某一帧作为封面图
  • 原文地址:https://www.cnblogs.com/weiyz/p/7119522.html
Copyright © 2011-2022 走看看