How to count the odd and even sum of pairs in an array with PHP

1 Answer

0 votes
function count_odd_and_even_sum_of_pairs($arr, &$evenodd) {
    $total_even = 0;
    $total_odd = 0;
    $size = count($arr);
    
    for ($i = 0; $i < $size; $i++) {
        if ($arr[$i] % 2 == 0) {
            $total_even++;
        } else {
            $total_odd++;
        }
    }
    
    // For all the even elements -> sum of the pair will be even
    $evenPairs = (($total_even * ($total_even - 1)) / 2);
    
    // For all the odd elements -> sum of the pair will be even
    $evenPairs += (($total_odd * ($total_odd - 1)) / 2);
    
    // All even elements * all odd element -> sum of the pair will be odd
    $oddPairs = $total_even * $total_odd;
    
    $evenodd[0] = $evenPairs;
    $evenodd[1] = $oddPairs;
}

$arr = array(1, 2, 3, 4, 5);
$evenodd = array(0, 0);

// 1 + 3, 1 + 5, 2 + 4, 3 + 5 = 4 Even
// 1 + 2, 1 + 4, 2 + 3, 2 + 5, 3 + 4, 4 + 5 = 6 Odd

count_odd_and_even_sum_of_pairs($arr, $evenodd);

echo "Total Even Sum = " . $evenodd[0] . "\n";
echo "Total Odd Sum = " . $evenodd[1] . "\n";



/*
run:

Total Even Sum = 4
Total Odd Sum = 6

*/

 



answered Jun 17, 2024 by avibootz

Related questions

1 answer 109 views
1 answer 107 views
1 answer 117 views
1 answer 99 views
1 answer 116 views
...