通过MCP连接 →

输入计算

n = 1, 2, 3, ……(正整数)

数学公式

广告

结果

Fibonacci number F12
144
精确整数值
序号 n 12
初始值约定 F1 = 1, F2 = 1
计算方法 整数迭代递推(精确)

斐波那契数列计算器是什么?

这个工具可以求出任意正整数序号 \(n\) 对应的第 \(n\) 个斐波那契数,记作 \(F_n\)。斐波那契数列是数学中最著名的整数数列之一:从第三项起,每一项都等于前两项之和。取初始值 \(F_1 = 1\)、\(F_2 = 1\),数列依次为 1、1、2、3、5、8、13、21、34、55、89、144,并无限延续下去。斐波那契数广泛出现在自然界、艺术、计算机科学以及黄金分割比之中。

使用方法

在输入框中填入序号 \(n\)(1、2、3……)并提交,计算器即可返回 \(F_n\) 的精确值。由于斐波那契数大致按 \(\phi^n / \sqrt{5}\) 的速度增长,数值会迅速变得非常庞大,因此本工具采用精确的大整数运算,而非浮点数计算。这样即使结果很大,也能保持完全精确,不会产生任何舍入误差。

公式详解

定义性的递推公式为

$$F_n = F_{n-1} + F_{n-2}, \qquad F_1 = 1,\ F_2 = 1$$

此外还有一个闭式表达式,即比内公式(Binet's formula):

$$F_n = \frac{\phi^n - \psi^n}{\sqrt{5}}$$

其中 \(\phi = \frac{1 + \sqrt{5}}{2}\) 为黄金分割比,\(\psi = \frac{1 - \sqrt{5}}{2}\)。在这种以 1 为起始的约定下,两种方法给出的结果完全一致;但当 \(n\) 较大时,比内公式会因浮点舍入而损失精度,因此我们采用逐项迭代的方式来保证结果的精确性。

展示两个相邻斐波那契项相加得出下一项的示意图
每个斐波那契数都是前两项之和。

实例演算

以 \(n = 12\) 为例,我们逐项推导数列:\(F_1=1\)、\(F_2=1\)、\(F_3=2\)、\(F_4=3\)、\(F_5=5\)、\(F_6=8\)、\(F_7=13\)、\(F_8=21\)、\(F_9=34\)、\(F_{10}=55\)、\(F_{11}=89\)、\(F_{12}=144\)。因此 \(F_{12} = 144\)。用比内公式验证:\(\phi^{12}\) 约为 \(321.9969\),\(\psi^{12}\) 约为 \(0.0031\),则

$$\frac{321.9969 - 0.0031}{\sqrt{5}} \approx 144.0$$

结果得到印证。

铺满矩形的斐波那契正方形,黄金螺旋弧线穿过其中
边长为斐波那契数的正方形铺满矩形,并勾勒出黄金螺旋。

常见问题

为什么取 \(F_1 = 1\)、\(F_2 = 1\),而不是 \(F_0 = 0\)?本计算器采用常见的「以 1 为起始」约定,即数列从序号 1 开始。在另一种「以 0 为起始」的约定中,\(F_0 = 0\)、\(F_1 = 1\);两者的数值只是相差一个序号而已。

能处理很大的 \(n\) 吗?可以。本工具采用精确的大整数运算,因此即便序号很大,也会返回完整、精确的整数,而非近似值。

\(n\) 的最小有效值是多少?\(n\) 必须是正整数,因此最小值为 \(n = 1\),对应 \(F_1 = 1\)。

最后更新: