问题标题: 酷町堂:4978 勾股定理

0
0

0
已采纳
涂俊驰
涂俊驰
初级守护
初级守护

布丁:

思路:暴力枚举法,对于每个 z,枚举 x,y 的取值,验证是否为勾股数。时间复杂度为 O(N^3),可能会超时。

优化思路:利用勾股数的**质,即 x、y、z 必须满足互质(也就是它们没有公共因子)。枚举 z,然后找出满足条件的互质的 x、y 值,即可得到勾股数。找出互质的 x、y 枚举的方法是枚举 a 和 b,使 x=a2-b2,y=2ab,z=a2+b2,其中 a、b 必须满足互质且 a>b。时间复杂度为 O(N^2 logN)。

我也不会

 

我要回答