zoukankan      html  css  js  c++  java
  • 菲波那切数列算法

    问题:有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知,一对兔子每个月可以生一对小兔子,
    而一对兔子从出生后第3个月起,每月生一对小兔子,加入一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖多少对?
    (兔子的规律为数列1,1,2,3,5,8,13,21)---- 菲波那切数列
     
     
    解法一:
    // 解法一:
    var num1 = 1;    //第一个月
    var num2 = 1;    //第二个月
    var sum = 0;
    
    for (let i = 3; i <= 12; i++) {
      sum = num1 + num2;
      num1 = num2;
      num2 = sum;
    }
    console.log("s
     
    解法二:
    // 解法二:
    function F(n){
       if(1 === n){
           return 1;
       }else if(2 === n){
           return 1;
       }else{
           return F(n-1) + F(n-2);
        }
    }
    
    var result = F(12);
    console.log("result:",result);
     
    解法三:
    // 解法三
    function F(n){
       switch (n) {
           case 0:
              return 1;
              break;
            case 1:
              return 1;
              break;
            default:
              return F(n-1) + F(n-2);
             break;
          }
    }
    var result = F(12);
    console.log("result:",result);
    

      

     
  • 相关阅读:
    电影观后感
    自定义内存管理
    web.xml配置详解
    Annotation
    Centos中yum方式安装java
    linux下添加用户并赋予root权限
    Injector
    Container
    GlassFish的安装与使用(Windows)
    Version Control
  • 原文地址:https://www.cnblogs.com/mycnblogs-guoguo/p/11212993.html
Copyright © 2011-2022 走看看