一、用数组求取斐波那契数列第n项的数值(非递归)
斐波那契数列求取思想:第n项=第n-1项 + 第n-2项;
function getValue(n) {
if(n >= 0) {
var arr = Array();
arr[0] = 1;
arr[1] = 1;
for(var i = 2;i <= n - 1;i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
var j = 0;
while(j !== n - 1) {
j++;
}
return arr[j];
} else {
alert("请输入正整数!");
}
}
二、使用递归求取第n项的值
function fn(num) {if(num <= 1 && num >= 0) {
return num;
}
return fn(num-1) + fn(num-2);
}
alert(fn(8)); //例如求第八项,结果将会输出21
递归是一种思想,通过递归可以简练程序代码,其实质是在符合条件的情况下不断调用自身。但是,递归必须有跳出条件,否则为死循环。