递推:
解决思路:
找到数学规律,通过公式计算到下一项的值,一直到我们要的结果为止,
例如:兔子产子:通过前两项得到下一项
/*
一般而言:兔子在出生两个月后,就要繁殖能力
一对兔子每一个月能够生成一对兔子
问:经过若干月份之后有多少对兔子
月份 0 1 2 3 4 5 6 ....
幼崽 0 0 1 2 3 5 8 ....
成年 1 1 1 1 2 3 5 ....
总共 1 1 2 3 5 8 13 ....
接收用户输入的月份
计算兔子的对数
1.如果经历的月份小于2那么兔子的月份对数为1
2.否则 用初始的兔子的对数 加上 第一个月的对数为
第二月兔子的个数(an+1 = an+an-1)
反复使用这个公式 计算出下个月兔子的个数 一直到用户输入的月份为止
打印兔子的对数
*/
/* var month = Number(prompt("请输入月份"));
var sum;
var an = 1;
var an_1 = 1;
var an_2;
if (month < 2) {
sum = 1;
} else {
for (var i = 1; i < month; i++){
sum = an + an_1;
an_1 = an;
an = sum;
}
}
alert(sum);*/
var month = Number(prompt("请输入月份"));
var rabbit =[1,1];
for(var m=2;m<month;m++){
rabbit[m] = rabbit[m-1]+rabbit[m-2];
}
alert(rabbit[month]);
递推:分为顺推和逆推