斐波那契数列计算器|秒算第n项,附黄金比例收敛图

立即计算斐波那契数列的第n项,使用 BigInt 精确计算至第100项。可视化相邻项之比对黄金比例 φ 的收敛过程、卢卡斯数以及前 N 项的柱状图。

斐波那契数列是什么

斐波那契数列是将前两项相加以产生下一项的数列。依序为 1, 1, 2, 3, 5, 8, 13,以式子表示即 F(n) = F(n−1) + F(n−2)。本工具会显示至指定项数的一览、第n项的准确值,以及相邻两项之比逐渐趋近黄金比例的样貌图表。

第79项以後无法以一般数值准确表示,因此「查询第n项」字段使用多倍长整数,可计算至第100项而无误差。另一方面,图表因指数成长的性质,自第20项左右起长条高度便会极端化,故观察收敛情形时请将项数设小一些。

斐波那契数列计算机的使用方法

  1. 决定显示的项数 指定要在一览与图表中呈现的项数。若想观察收敛情形,15~20 左右较易阅读。
  2. 查询第n项 输入想知道的项次,即会显示该项的值。可求得至第100项的准确整数。
  3. 确认相邻比的收敛 查看 F(n+1)/F(n) 的字段,即可以数值追踪随项次推进而趋近黄金比例约 1.618 的样貌。

用好本工具的小技巧

  • 斐波那契数列由递推公式 F(n) = F(n−1) + F(n−2) 定义,初始值为 F(1) = F(2) = 1。
  • 相邻项之比 F(n+1)/F(n) 随 n 增大而收敛至黄金比例 φ ≈ 1.618。可在收敛表中观察这一过程。
  • 当 n > 78 时,JavaScript 的 64 位浮点数无法精确表示斐波那契数。「查找第 n 项」输入框使用 BigInt 可精确计算至 n = 100。
  • 斐波那契数广泛出现于自然界:向日葵种子的螺旋排列、松果的鳞片以及鹦鹉螺的截面均遵循斐波那契规律(叶序现象)。

斐波那契数列的实用场景

用于数学作业或验算

可与手算的第n项相互核对。即使是位数很大的项也能得到准确整数,中途不会掺入误差。

确认与黄金比例的关系

可以数值追踪相邻比趋近 1.618 的过程。有助于将「会收敛」这个说明转为切身的理解。

准备程式的期望值

在测试递回或动态规划的实作时,可在此确认可作为正解使用的数值。

作为估算的参考尺度

软件开发中有时会以接近此数列的数值来估算工作量。可用于确认各级距之间的间隔。

斐波那契数列的术语

递回式
指使用前项来决定下一项的式子。在斐波那契数列中即为 F(n) = F(n−1) + F(n−2)。
黄金比例
指以 (1 + √5) / 2 表示的约 1.618 之比。斐波那契数列的相邻比会收敛至此值。
卢卡斯数列
指采用相同递回式而仅初始值不同的数列。依序为 1, 3, 4, 7, 11,趋近黄金比例的速度相同。
比内公式
指不经递回式、而以黄金比例直接求出第n项的式子。无须逐项推进即可得到数值。
多倍长整数
指不受位数限制处理整数的机制。为了无误差地计算第79项以後而采用。
叶序
指植物叶片或种子排列方式的规则。已知向日葵种子的螺旋等处会出现斐波那契数。

常见问题

两种约定均存在。本工具采用从 1 开始的约定 F(1) = 1, F(2) = 1,这在日本高中数学中较为常见。从 0 开始的约定 F(0) = 0, F(1) = 1 同样有效,在计算机科学中更为普遍。

卢卡斯数与斐波那契数列使用相同的递推关系 L(n) = L(n−1) + L(n−2),但初始值不同:L(1) = 1, L(2) = 3,后续为 1, 3, 4, 7, 11, 18, 29, …。它们以与斐波那契数列相同的速度收敛至黄金比例。

比内公式是解析式 F(n) = (φⁿ − ψⁿ) / √5,其中 φ = (1+√5)/2,ψ = (1−√5)/2。它可以直接由 n 求得斐波那契数,无需计算前项。但对于大 n,浮点误差会导致结果不准确,因此本工具改用 BigInt 整数迭代法。
工具君

闲话 ― 斐波那契与黄金比例

这个数列虽然以斐波那契命名,但它的历史其实比他本人还要古老。它在欧洲被广泛认识,要归功于比萨的列奥纳多——后人称他为斐波那契——他在 1202 年出版的著作《算盘书》(Liber Abaci)中,用一个理想化的兔子繁殖问题引入了这个数列,这套数列也正因此逐渐传入了欧洲的数学传统。有趣的是,早在这之前很久,印度数学家 Pingala 在研究诗歌韵律(音节长短的排列组合)时,就已经推导出了本质相同的数列——只是两者相隔久远,彼此并不知晓对方的发现。

斐波那契数列真正迷人之处,或许在于它与黄金比例 φ = (1 + √5) / 2 ≈ 1.618 之间若即若离的关系。随着 n 增大,相邻两项之比 F(n+1)/F(n) 会越来越逼近 φ,这并非巧合,而是源于 φ 本身满足 φ² = φ + 1 这一代数性质——这恰好就是斐波那契递推关系在极限情形下自然导出的结果。

这种收敛关系还催生了一个优雅的解析工具——比内公式:F(n) = (φⁿ − ψⁿ) / √5,其中 ψ = (1 − √5) / 2 ≈ −0.618。它的巧妙之处在于,斐波那契数列本来是靠递推逐项累加定义的,而这个公式却能让我们跳过所有中间步骤,直接由 n 算出任意一项的值。只不过当 n 较大时,浮点数的精度误差会让这个公式失去准确性,这也是为什么本工具在计算大项时改用 BigInt 进行整数迭代,而不是直接套用比内公式。