菲波那切數列算法


問題:有個人想知道,一年之內一對兔子能繁殖多少對?於是就築了一道圍牆把一對兔子關在里面。已知,一對兔子每個月可以生一對小兔子,
而一對兔子從出生后第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);

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM