object PythagoreanTriplet extends App {
// Define the total sum of the Pythagorean triplet (a + b + c = 1000)
val sum = 1000
// Loop through possible values for 'a'
// 'a' is the smallest in the triplet, so only check up to sum/3
for (a <- 1 to sum / 3) {
// Loop through possible values for 'b', starting just above 'a'
// 'b' must be less than 'c', so only go up to sum/2
for (b <- a + 1 to sum / 2) {
// Calculate 'c' as the remaining value so that a + b + c = sum
val c = sum - a - b
// Check if the triplet (a, b, c) satisfies the Pythagorean condition: a² + b² == c²
if (a * a + b * b == c * c) {
println(s"($a^2 = ${a * a}) + ($b^2 = ${b * b}) = $c^2 = ${c * c}")
println(s"a = $a, b = $b, c = $c")
println(s"${a + b + c} = $a + $b + $c")
}
}
}
}
/*
run:
(200^2 = 40000) + (375^2 = 140625) = 425^2 = 180625
a = 200, b = 375, c = 425
1000 = 200 + 375 + 425
*/