数学——数论--四平方和定理¶
四平方和定理又称拉格朗日定理(Lagrange's Four-square Theorem)。定理指出每个正整数均可表示为4个整数的平方和。
参考证明:https://zhuanlan.zhihu.com/p/104030654?from_voters_page=true
四平方和定理基于的是欧拉恒等式:
$$
\left(x_{1}{2}+x_{2}{2}+x_{3}{2}+x_{4}{2}\right) \cdot\left(y_{1}{2}+y_{2}{2}+y_{3}{2}+y_{4}{2}\right)=z_{1}{2}+z_{2}{2}+z_{3}{2}+z_{4}{2} \
\left{\begin{array}{l}
z_{1}=x_{1} y_{1}+x_{2} y_{2}+x_{3} y_{3}+x_{4} y_{4} \
z_{2}=x_{1} y_{2}-x_{2} y_{1}-x_{3} y_{4}+x_{4} y_{3} \
z_{3}=x_{1} y_{3}-x_{3} y_{1}+x_{2} y_{4}-x_{4} y_{2} \
z_{4}=x_{1} y_{4}-x_{4} y_{1}-x_{2} y_{3}+x_{3} y_{2}
\end{array}\right.
$$
恒等式的证明只需要将左右展开比较即可。恒等式说明,如果两个数字m
和n
可以表示成四个平方数的和,那么它们的乘积也可以表示成四个平方数的和。考虑2这个特殊的质数,可以表示成
$$
2=1{2}+1{2}+0{2}+0{2}
$$
考虑大于2的正整数,这些正整数都可以进行质因数分解,即表示成质因数的乘积,那么只需证明任何一个大于2的质数均可以表示成4个数的平方和。
定理的内容是4个整数,并未指明必须都是正整数,所以可能存在其中一个或多个为0的情况。这个结论对于解决LeetCode 279的帮助是,可准确知道最后结果只能是1,2,3,4中的一个,然后再结合勒让德三平方和定理和费马平方和定理来确定结果。
典型题目
- LeetCode 279.完全平方数