How to find the median among three given numbers in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

/*
   Computes the median of three integers.
   The median is the value that is neither the minimum nor the maximum.

   Formula:
     median = a + b + c - min(a, b, c) - max(a, b, c)
*/
func medianOfThreeNumbers(a, b, c int) int {
    // Determine the minimum of the three numbers
    min := a
    if b < min {
        min = b
    }
    if c < min {
        min = c
    }

    // Determine the maximum of the three numbers
    max := a
    if b > max {
        max = b
    }
    if c > max {
        max = c
    }

    // The median is the remaining value
    return a + b + c - min - max
}

func main() {
    // Test cases
    fmt.Println("The median of [1, 1, 1] is", medianOfThreeNumbers(1, 1, 1))
    fmt.Println("The median of [10, 3, 7] is", medianOfThreeNumbers(10, 3, 7))
    fmt.Println("The median of [10, -10, -10] is", medianOfThreeNumbers(10, -10, -10))
    fmt.Println("The median of [3, 3, 5] is", medianOfThreeNumbers(3, 3, 5))
}


/*
run:

The median of [1, 1, 1] is 1
The median of [10, 3, 7] is 7
The median of [10, -10, -10] is -10
The median of [3, 3, 5] is 3

*/

 



answered Mar 26 by avibootz
...