这是我自己写的大神优化一下,
因为n的值的 n-1+n-2的值 所以用a和b表示。
if (n == 1 || n == 2) {
return 1
}
let a = 1
let b = 1
let count = 3
const newn = n
let sum = 0
feibo()
function feibo(newn) {
if (count % 2 === 1) {
a = a + b
} else {
b = a + b
}
count++
if (count != n) {
feibo(n)
} else {
sum = a + b
}
}
return sum
}
或者
function fibonacci(n) {
if (n == 1 || n == 2) {
return 1
}
let a = 1
let b = 1
let sum = 0
for (let i = 3; i < n; i++) {
if (a>b) {
b = a + b
} else {
a = a + b
}
sum = a + b
}
return sum
}