题目:
毕达哥拉斯三元组是三个自然数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()
图片来自优美图
人类通常像狗,听到远处有狗吠,自己也吠叫一番。
——伏尔泰
网友评论