什么是勾股数?
勾股数是指满足勾股定理 \(a^2 + b^2 = c^2\) 的三个正整数 (a, b, c)。最经典的例子就是 (3, 4, 5),因为 \(9 + 16 = 25\)。本工具采用经典的欧几里得公式,由两个种子整数自动生成这样的勾股数。
如何使用本生成器
输入两个正整数 \(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 = 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) 算同一组吗?两条直角边可以互换;本工具为了统一显示,始终把较短的直角边排在前面。