斐波那契数列是一个经典的数学问题,它的定义是:第一个和第二个数都是1,从第三个数开始,每个数都是前两个数的和。斐波那契数列的前几个数字依次为:1, 1, 2, 3, 5, 8, 13, 21, …
在JavaScript中,可以使用递归或循环来实现斐波那契数列。下面是两种常见的实现方式:
function fib(n) {
if (n <= 2) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
这种方法简洁明了,但是在计算较大的斐波那契数时会出现性能问题,因为它会重复计算相同的子问题。
使用循环:
function fib(n) {
if (n <= 2) {
return 1;
}
let prev = 1;
let curr = 1;
for (let i = 3; i <= n; i++) {
let temp = curr;
curr = prev + curr;
prev = temp;
}
return curr;
}
这种方法通过迭代计算每个斐波那契数,避免了重复计算,性能更好。