通过MCP连接 →

输入计算

数学公式

广告

结果

勾股数
(3, 4, 5)
a² + b² = c²
直角边 a 3
直角边 b 4
斜边 c 5
所用的 m、n m = 2, n = 1

什么是勾股数?

勾股数是指满足勾股定理 \(a^2 + b^2 = c^2\) 的三个正整数 (a, b, c)。最经典的例子就是 (3, 4, 5),因为 \(9 + 16 = 25\)。本工具采用经典的欧几里得公式,由两个种子整数自动生成这样的勾股数。

由勾股数构成的直角三角形,直角边为 a 和 b,斜边为 c
勾股数描述直角三角形各边的长度,其中 \(a^2 + b^2 = c^2\)。

如何使用本生成器

输入两个正整数 \(m\) 和 \(n\),要求 \(m\) 大于 \(n\)(两者都不小于 1,且 \(m\) 不小于 2)。点击"计算",工具就会返回勾股数 (a, b, c),并显示所用的 \(m\) 和 \(n\)。两条直角边会按从小到大排序,较短的一条排在前面。

公式详解

欧几里得公式指出:对任意满足 \(m > n > 0\) 的整数,\(a = m^2 - n^2\)、\(b = 2mn\)、\(c = m^2 + n^2\) 这三个值必定构成一组勾股数:

$$\left(a,\,b,\,c\right) = \left(m^2 - n^2,\ \ 2\,m\,n,\ \ m^2 + n^2\right)$$

当 \(m\) 与 \(n\) 互质且不同奇偶(一奇一偶)时,得到的是本原勾股数(即无法再约分的勾股数);否则得到的就是某组本原勾股数的整数倍。

展示输入 m 和 n 通过欧几里得公式映射为三元组 a、b、c 的示意图
欧几里得公式将两个整数 \(m\) 和 \(n\) 映射为三元组 \(a = m^2-n^2\)、\(b = 2mn\)、\(c = m^2+n^2\)。

计算实例

取 \(m = 2\)、\(n = 1\),则 \(a = 4 - 1 = 3\),\(b = 2 \times 2 \times 1 = 4\),\(c = 4 + 1 = 5\),结果为 (3, 4, 5)。验证:

$$3^2 + 4^2 = 9 + 16 = 25 = 5^2$$

再取 \(m = 3\)、\(n = 2\),得到 \(a = 5\)、\(b = 12\)、\(c = 13\),正是大家熟悉的 (5, 12, 13)。

常见问题

为什么 \(m\) 必须大于 \(n\)?如果 \(n \geq m\),那么 \(a = m^2 - n^2\) 就会等于零或为负数,无法作为边长,结果就不成立。

这个公式能生成所有勾股数吗?欧几里得公式能把每一组本原勾股数都不重不漏地生成一次(当 \(m\)、\(n\) 互质且一奇一偶时),而其余所有勾股数都会以本原勾股数的整数倍形式出现。

(a, b, c) 和 (b, a, c) 算同一组吗?两条直角边可以互换;本工具为了统一显示,始终把较短的直角边排在前面。

最后更新: