How to find the median among three given numbers in PHP

1 Answer

0 votes
/**
 * 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)
 */
function medianOfThreeNumbers(int $a, int $b, int $c): 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;
}

// Test cases
echo "The median of [1, 1, 1] is " . medianOfThreeNumbers(1, 1, 1) . PHP_EOL;
echo "The median of [10, 3, 7] is " . medianOfThreeNumbers(10, 3, 7) . PHP_EOL;
echo "The median of [10, -10, -10] is " . medianOfThreeNumbers(10, -10, -10) . PHP_EOL;
echo "The median of [3, 3, 5] is " . medianOfThreeNumbers(3, 3, 5) . PHP_EOL;



/*
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
...