17 lines
420 B
Python
17 lines
420 B
Python
|
|
||
|
def get_triplets_for_perimter(p):
|
||
|
return [(a, b, p - a - b)
|
||
|
for b in range(1, p // 2 + 1)
|
||
|
for a in range(1, b)
|
||
|
if a * a + b * b == (p - a - b) * (p - a - b)]
|
||
|
|
||
|
|
||
|
def euler_039():
|
||
|
return max([(len(get_triplets_for_perimter(p)), p)
|
||
|
for p in range(1, 1001)])[1]
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
assert(euler_039() == 840)
|
||
|
print("e039.py: " + str(euler_039()))
|