斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0
F(1) = 1
F(n) = F(n - 1) + F(n - 2) //其中 n > 1
①使用递归的方式(解决快,问题复现比较直观,但是性能差不能计算较大的数值):
var fib = function(n) {
if(n == 0) {
return 0;
} else if(n == 1) {
return 1;
}
return fib(n - 1) + fib(n - 2);
};
②使用循环,这里使用数组存值的方式解(性能佳,能计算较大数值):
var fib = function(n) {
if(n == 0) {
return 0;
} else if(n == 1) {
return 1;
}
var arr = [0, 1]
for( let i = 1; i <= n; i++) {
if( i >= 2) {
arr.push(arr[i - 1] + arr[i - 2]);
}
}
return arr[n];
}