斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
📐 数学公式
递推公式:F(n) = F(n-1) + F(n-2) 公式证明(运用场景): 摆砖头: n = 0 --> 1种 n = 1 --> ▋ 1种 n = 2 --> ▋▋ 〓 2种 n = 3 --> ▋▋▋ ▋〓 〓 ▋ 3种
📌 JavaScript
参考代码:index.js
/** * 斐波那契数列的查找(迭代) * @param {Number} num - 要查找的数字的索引(第n个数) * @returns {Number} 输出值 */ export function fibonacciIterator(num) { let a = 1, b = 0, temp; while (num >= 0) { /* undefined, 1, 1, 2, 3, 5 */ console.log(temp); temp = a; a = a + b; b = temp; num--; } return b; } /** * 斐波那契数列的查找(递归) * @param {Number} num - 要查找的数字的索引(第n个数) * @returns {Number} 输出值 */ export function fibonacci(num) { if (num <= 1) return 1; return fibonacci(num - 1) + fibonacci(num - 2); }
测试:test.js
import { fibonacci } from './index'; /* 输出: 8 */ console.log( fibonacci(5) );