JS中for循环之斐波拉切数列-兔子问题

兔子问题:

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

其实这就是斐波拉切数列:一个数列当前项等于前两项之和。

所以,要求第12个月的值,也就是求数列第12项的值;解决思路:
1.定义三个变量,一个变量是数列第一项值,一个变量是第二项值,一个变量是中间变量;
2.为了依次得到之后的值,也就是最开始的第二项值变成了之后的第一项值(需要把之前的第二项值存储在中间变量中),之后的第二项值变成了之前两项值的和。
js代码如下:

//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次)
    }
 
   console.log(num2);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 费波那契数列(兔子繁殖数列) 兔子在出生两个月后,就有繁殖能力,一对成年而有繁殖力的兔子每个月能生出一对小兔子来。...
    MiaLing007阅读 14,804评论 2 6
  • 整理一下经典算法用C/C++实现,并思考总结 题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第...
    Bill_Wang阅读 10,401评论 0 7
  • 假设第1个月有1对刚诞生的兔子,第2个月进入成熟期,第3个月开始生育兔子,而1对成熟的兔子每月会生1对兔子,兔子永...
    rainchxy阅读 8,152评论 0 1
  • 斐波那契数列之兔子繁殖问题 据说很多枯燥的算法问题都是和生活密切相关的,毕竟很多算法都是人们有实际的需求才慢慢进入...
    再见远洋阅读 1,670评论 0 4
  • 斐波那契是意大利的数学家.他是一个商人的儿子.儿童时代跟随父亲到了阿尔及利亚,在那里学到了许多阿拉伯的算术...
    米塔塔阅读 5,490评论 5 11