#通過公式求勾股數
def Ht(k, m):
a = k * (m * m - n * n)
b = k * (2 * m * n)
c = k * (m * m + n * n)
result = []
for k0 in range(1, k + 1):
for m0 in range(2, m + 1):
for n0 in range(1, m0):
a = k0 * (m0 * m0 - n0 * n0)
b = k0 * (2 * m0 * n0)
c = k0 * (m0 * m0 + n0 * n0)
if not {a, b, c} in result:
result.append({a, b, c})
result = [sorted(list(x)) for x in result]
return (sorted(result,key=lambda x:x[0]),
'共有 {length} 組勾股數'.format(length = len(result)))
Ht(10, 10)