How to find pythagorean triplet for which a + b + c = 1000 in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func main() {
    // Define the total sum of the Pythagorean triplet (a + b + c = 1000)
    sum := 1000

    // Loop through possible values for 'a'
    // We only check up to sum/3 because 'a' must be the smallest in the triplet
    for a := 1; a <= sum/3; a++ {

        // Loop through possible values for 'b', starting just above 'a'
        // It goes only up to sum/2 to avoid redundancy and ensure 'b < c'
        for b := a + 1; b <= sum/2; b++ {

            // Calculate 'c' as the remaining value so that a + b + c = sum
            c := sum - a - b

            // Check if the triplet (a, b, c) satisfies the Pythagorean condition
            // That is, a² + b² must equal c²
            if a*a + b*b == c*c {
                fmt.Printf("(%d^2 = %d) + (%d^2 = %d) = %d^2 = %d\n", a, a*a, b, b*b, c, c*c)
                fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
                fmt.Printf("%d + %d + %d = %d\n", a, b, c, a+b+c)
            }
        }
    }
}



/*
run:

(200^2 = 40000) + (375^2 = 140625) = 425^2 = 180625
a = 200, b = 375, c = 425
200 + 375 + 425 = 1000

*/

 



answered Jul 25, 2025 by avibootz
...