菲波那切数列算法
问题:有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知,一对兔子每个月可以生一对小兔子,
而一对兔子从出生后第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);

浙公网安备 33010602011771号