繁体   English   中英

三个正数x,y,z的组合使得x + y,x-y,y + z,y-z,x + z和x-z是完美的正方形

[英]Combinations of three positive numbers x, y, z so that x + y, x - y, y + z, y - z, x + z and x - z are perfect squares

早上好,我是新来的,我带来一个小问题。 我无法为以下问题开发有效的算法:我需要找到三个正数x,y和z的组合,以便x + y,x - y,y + z,y - z,x + z和x - z是完美的正方形。 问题是开发一种算法,该算法可以找到1到2,000,000之间的x,y和z的所有组合。

目前我使用forfor肯定之前,我有我的孙子就不会结束。

从替换开始的基本思路,如:

 u = x + y
 v = x - y
 w = y + z

然后x + y,x-y,y + z,y-z,x + z和x-z变为

 u, v, w, u - v - w, v + w, u - w   [all have to be squares]

然后用另一个替换,u =a²,v =b²,w =c²,得到:

 a², b², c², a² - b² - c², b² + c², a² - c²    [all have to be squares]

现在你可以枚举所有可能已经足够快的a,b,cs。

进一步的想法可能是首先使用毕达哥拉斯三元组 (通过将其替换为m和n,枚举所有互质(m,n)然后使用欧几里德公式)列举所有b²,c²,b²+c²然后找到给定的(b,c) )以类似的方式(例如将a²-c²=x²改为a²=x²+c²并再次使用三元组)。

扩展BeniBela的答案

x + y = (x - z) + (y + z)
x + y = (x + z) + (y - z)

因此,只有当斜边可以用两种不同的形式表示时,三元组才有效。 可以通过观察(x-z)和(x + z)也形成毕达哥拉斯三元组的斜边来进行进一步的滤波。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM