Skip to content

1. 递归方法

javascript
function fibonacciRecursive(n) {  
    if (n <= 1) {  
        return n;  
    } else {  
        return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);  
    }  
}  
  
console.log(fibonacciRecursive(10)); // 输出第10个斐波那契数

2. 迭代方法

javascript
function fibonacciIterative(n) {  
    let a = 0, b = 1, temp;  
    if(n === 0) return a;  
    if(n === 1) return b;  
    for (let i = 2; i <= n; i++) {  
        temp = a + b;  
        a = b;  
        b = temp;  
    }  
    return b;  
}  
  
console.log(fibonacciIterative(10)); // 输出第10个斐波那契数

3. 动态规划方法

javascript
function fibonacciDynamicProgramming(n) {  
    let dp = new Array(n + 1).fill(0);  
    dp[0] = 0;  
    dp[1] = 1;  
    for (let i = 2; i <= n; i++) {  
        dp[i] = dp[i - 1] + dp[i - 2];  
    }  
    return dp[n];  
}  
  
console.log(fibonacciDynamicProgramming(10)); // 输出第10个斐波那契数