문제
세 자연수 a, b, c 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다.
(여기서 a < b < c )
a + b + c = n 인 피타고라스 수 a, b, c의 곱을 구하시오.
(단, 위 조건에 만족하지 않는 n은 0으로 출력하시오.)
input = 12
output = 60 // 3 * 4 * 5 = 60
풀이
const output = (input) => {
let out = 0
for (let b = 1; b < input; b++) {
for (let a = 1; a < b; a++) {
const modify1 = Math.pow(a, 2) + Math.pow(b, 2)
const modify2 = Math.pow(input - a - b, 2)
if (modify1 === modify2) {
out = a * b * (input - a - b)
break
}
}
}
return out
}
output(12) // 60
output(20) // 0
output(1000) // 31875000
구조
[출처: http://euler.synap.co.kr/prob_detail.php?id=9]