https://projecteuler.net/problem=86例だと、またぐ辺が5と3だから8で、6と直角になって斜辺が10となります。直方体の最も長い辺が直角三角形の一つの辺で残りの辺の和で直角を成します。 なので、直角三角形を最も長い辺になる長さが小さいほうから列挙するとよいです。その際、(3, 4, 5), (4, 3, 5)と同じ直角三角形でもどちらが直方体の最も長い辺になるかで分けると組みやすくなります。 import sys #################### library #################### fn gcd(n: Int, m: Int) ->…