欧拉计划9 (特殊毕达哥拉斯三元组)

题目:
毕达哥拉斯三元组是三个自然数a < b < c组成的集合,并满足a2 + b2 = c2
例如,32 + 42 = 9 + 16 = 25 = 52。
有且只有一个毕达哥拉斯三元组满足 a + b + c = 1000。求这个三元组的乘积abc。

Java:

for (int i = 500;i>1;i--){
    for (int j = 499;j>1;j--){
        if ((1000-i-j)*(1000-i-j)==i*i+j*j){
            Log.e("结果","i=="+i+"j=="+j+"k=="+(1000-i-j)+"乘积="+i*j*(1000-i-j));
            return;
        }
    }
}

python3:

def test():
    for i in range(500,2,-1):
        for j in range(499-int(i%2),1,-1):
            if (1000-j)*(j+i)==500000:
                print(i, j, 1000 - i - j)
                print(str(i*j*(1000-i-j)))
                return
test()
欧拉计划9 (特殊毕达哥拉斯三元组)_第1张图片
图片来自优美图

人类通常像狗,听到远处有狗吠,自己也吠叫一番。
——伏尔泰

你可能感兴趣的:(欧拉计划9 (特殊毕达哥拉斯三元组))