有一个对兔子,从出生的第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子都不死,问某个月的兔子总和是多少?
问题分析:
月份 | 兔子的总对数 |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 5 |
6 | 8 |
7 | 13 |
8 | 21 |
9 | 34 |
10 | 55 |
斐波那契数列的规律:
n1 + n2 = n3
n2 + n3 = n4
n3 + n4 = n5
递归算法解决:
var n = Number(prompt("请输入需要查看兔子总数的月份:"));
// var sum = f(n);
var sum = fun4(n);
console.log('兔子的总数为:'+sum);
// 递归算法
function f(n){
if(n==1 || n==2){
return 1;
}
return f(n-1)+f(n-2);
}
//加入输入的n=5,