斐波拉契
2020-05-26 本文已影响0人
Ag_fronted
1、原始版
function fib1(number) {
if (number === 0 || number === 1) {
return 1
} else {
return fib(number) + fib(number - 1)
}
}
2、三个值来回搞
function fib2(n) {
let top = 1, bottom = 0, res = 0
for (let i = 0; i < n; i++) {
res = top + bottom
bottom = top
top = res
}
return res
}
3、保存数组
function fib3(number) {
var arr = [1, 2]
for (var i = 2; i < number; i++) {
arr[i] = arr[i - 1] + arr[i - 2]
}
return arr[number - 1]
}