環境
問題
ピタゴラス数(ピタゴラスの定理を満たす自然数)とは a < b < c で以下の式を満たす数の組である.
a^2 + b^2 = c^2
例えば, 32 + 42 = 9 + 16 = 25 = 52 である. a + b + c = 1000 となるピタゴラスの三つ組が一つだけ存在する.これらの積 abc を計算しなさい.
考え方
- 変数 a , b を設定する
- c = 1000 - a - b を設定する
- a と b をそれぞれ 1 から 1000 まで数え上げる
- a^2 + b^2 = (1000 - a - b)^2 である時の a * b * c を計算する
コード
let a = 1; let b = 1; const teisu = 1000; let c = teisu - a - b; for (let i = a; i <= teisu; i++) { for (let j = b; j <= teisu; j++) { if (i * i + j * j === (teisu - i - j) * (teisu - i - j)) { return i * j * (teisu - i - j); } } }
説明
- 式の条件より、変数 a , b , c を設定する
- a , b は 1000 まで数え上げる(1000 という数字は、a + b + c = 1000 であり、変数 a , b , c が自然数であることから、それぞれの変数は1000以下であることがわかる)
- 数え上げの中で、式の条件 a^2 + b^2 = (1000 - a - b)^2 を満たすとき、a * b * c を返り値として計算する