0039 勾股数和
* * * *
拉格朗日计划
* * * *
勾股数和

考虑边长a、b、c均为整数的直角三角形,其周长是$p=a+b+c$。

$p=120$时,满足上式的勾股数(即满足$a^2+b^2=c^2$的正整数)恰有三组,分别是$(20,48,52),(24,45,51),(30,40,50)$。

问p取不超过1000的何值时上式解的数量最多?

本题难度:



解答

本题数字很小,直接暴力搜索即可得结果$840$,此时共有8组解。

p={}
for i in range(1,334):
    for j in range(i+1,500):
        for k in range(j+1,1001-i-j):
            if i*i+j*j==k*k:
                p[i+j+k]=p.get(i+j+k,0)+1
                
print max([p[i],i] for i in p)[1]