【前端基础(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))
相关推荐
Hyyy9 小时前
普通前端续命周报——第1周
前端·javascript
比特森林探险记9 小时前
go 语言中的context 解读和用法
开发语言·后端·golang
古城小栈9 小时前
Rust 调用 C 语言库 实战指南(企业级)
c语言·开发语言·rust
KaMeidebaby9 小时前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
2501_940041749 小时前
纯前端创意交互:五款全新实用工具与视觉应用生成指南
前端·交互
刀法如飞10 小时前
《道德经》简单解说版-第 2 章:天下皆知美之为美
前端·后端·面试
吃好睡好便好10 小时前
用for循环语句求和
开发语言·人工智能·学习·matlab·学习方法
萌新小码农‍10 小时前
人工智能数学基础+python实例(人工智能学习day3)
开发语言·人工智能·python
Lumbrologist10 小时前
【C++】零基础入门 · 第 1 节:第一个程序 Hello World 与编译运行
开发语言·c++