zoukankan      html  css  js  c++  java
  • js 斐波那契数列(兔子问题)

    对于JS初学者来说,斐波那契数列一直是个头疼的问题,总是理不清思路。

    希望看完这篇文章之后会对你有帮助。

     什么是斐波那契数列 :

                  答: 斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。

                     指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……

    题目:有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?

      已知兔子的规律为数列: 1,1,2,3,5,8,13,21...

     答:首先我们得知道这道题的需求和步骤

          需求:一个数列当前项等于前两项之和。求第12项。      

          步骤:
          1.定义三个变量,然后两个初始化值。第三个作为存储使用
          2.先把第二个变量存储进入第三个变量汇总,第二个变量重新赋值成为第一个和第二个之和
          3.把存储好的第三个变量赋值给第一个变量。
          4.执行12次(因为前两项不需要计算,所以只需要执行10次)。

    解析:

      

        1.定义三个变量,然后两个初始化值。第三个作为存储使用

          我们可以把这个数列想象成推箱子游戏

          2.先把第二个变量存储进入第三个变量中

          然后把第二个变量重新赋值成为第一个和第二个之和。  

          3.把存储好的第三个变量赋值给第一个变量。

        以此类推到最后一项

          

    利用for循环 代码如下:

        //1.定义三个变量,然后两个初始化值。第三个作为存储使用
        var temp;
        var num1 = 1;
        var num2 = 1;
        //2.先把第二个变量存储进入第三个变量汇总,第二个变量重新赋值成为第一个和第二个之和
        for(var i=1;i<=10;i++){
            temp = num2;
            num2 = num1 + num2;
            //3.把存储好的第三个变量赋值给第一个变量。
            num1 = temp;
            //4.执行10次。(因为前两项不需要计算,所以只需要执行10次)
        }
    
        alert(num2);
    
    
    

    感谢观看,希望对您有帮助!

    
    
    
  • 相关阅读:
    Python pyspider 安装与开发
    Shell curl 和 wget 使用代理IP
    米扑代理示例(mimvp-proxy-demo)
    图片加载失败如何替换成默认图片
    Node-mongodb链接数据库函数的封装
    移动端拼图效果实现
    JS调用百度地图API获取地理位置
    The Begin
    Matlab(Client)和Python(Server)进行TCP通信
    ubuntu如何有效扩容根目录的记录(实践有效ubuntu20.0版本)
  • 原文地址:https://www.cnblogs.com/bfc0517/p/5990297.html
Copyright © 2011-2022 走看看