#16496: 正規解


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
d236. 畢氏的定理 -- Project Euler | From: [27.52.77.116] | 發表日期 : 2019-01-07 00:42

已知  a + b + c = 1000 且  a*a + b*b = c*c

將第一式移項得  a + b = 1000 - c 

將第二式  a*a + b*b  改寫成  ( a + b ) ^ 2  -  2 * a * b ,代入得

( 1000 - c ) ^ 2 - 2 * a * b  = c*c ,整理得  1000 * c + a * b = 500000

因為三數都不超過 1000 ,由上式可得 c 不超過 500

剩下的就是用迴圈,c 從 499 開始遞減,裡面再一個迴圈,a = 1、b = 999 - c ,a 遞增且 b 遞減

當 a > b 就跳出裡面迴圈,讓 c 遞減後繼續找,只要 a*a + b*b = c*c 就結束

 
ZeroJudge Forum