程序1
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
方法一:
function F1(month) {
if (month === 0 ||month === 1) {
return 1;
}
else if ( month === 2) {
return 2;
}
else {
return F(month - 1) + F(month - 2);
}
}
方法二:
function F2(month) {
var arr = new Array();
arr[0] = 1;
arr[1] = 2;
for (var i = 2; i < month; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[month-1];
}
方法三:
function F3(month){
var f1=1,f2=1,f=0;
for (var i = 2; i < month; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f2;
}