【前端基础(Javascript部分)】6、用JavaScript的递归函数和for循环,计算斐波那契数列的第 n 项值

一、 什么是斐波那契数列

数列: 1 1 2 3 5 8 13 21 34 55 ... x

位置: 1 2 3 4 5 6 7 8 9 10 ... n

二、递归实现

javascript 复制代码
<script>

// 什么是斐波那契数列
// 数列: 1 1 2 3 5 8 13 21 34 55 ... x
// 位置: 1 2 3 4 5 6 7  8  9  10 ... n

// 1. 斐波那契的递归实现
function fibonacci(n) {
    if (n === 1 || n === 2) return 1
    return fibonacci(n-1) + fibonacci(n-2)
}

console.log(fibonacci(5))
console.log(fibonacci(10))
console.log(fibonacci(20))

</script>

三、for 循环实现

javascript 复制代码
// 什么是斐波那契数列
// 数列: 1 1 2 3 5 8 13 21 34 55 ... x
// 位置: 1 2 3 4 5 6 7  8  9  10 ... n

// 2. 斐波那契的for循环实现
function fibonacci(n) {
    // 特殊的情况(前两个数字)
    if (n === 1 || n === 2) return 1

    // for循环的实现
    var n1 = 1
    var n2 = 1
    var result = 0
    for (var i = 3; i <= n; i++) {
    result = n1 + n2
    n1 = n2
    n2 = result
    }
    return result
}

console.log(fibonacci(5))
console.log(fibonacci(10))
console.log(fibonacci(20))
相关推荐
神奇的程序员7 小时前
我的软件冲进苹果商店下载榜前 50 了
前端
阳光是sunny7 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端
万少8 小时前
万少的博客 - 技术分享与解决方案
前端·javascript·后端
尘世中一位迷途小书童11 小时前
用 Cesium 撸了一个森林火情监控大屏,弧线、粒子、发光效果都齐了
前端·javascript
IT_陈寒11 小时前
垃圾回收器选错了,我的Java服务内存炸了
前端·人工智能·后端
月光下的丝瓜12 小时前
Flutter 国内安装指南
前端·flutter
先吃饱再说12 小时前
JavaScript中`this` 的“千层套路”:从默认绑定到箭头函数的五种指向
javascript
玄星啊12 小时前
AI 编程的第 30 天,我怀念古法 Coding 了
前端·ai编程
Jolyne_12 小时前
Angular基础速通
前端·angular.js
foxire12 小时前
基于nodejs实现服务端内核引擎
javascript