How to check if a number is abundant number in PHP

1 Answer

0 votes
function SumNumberProperDivisors($num) {
    $sum = 0;
    
    for ($i = 1; $i <= sqrt($num); $i++) {
        if ($num % $i == 0) {
            if ($i == ((int)($num / $i))) {
                $sum += $i;
                echo $i . ", ";
            }
            else {
                $sum += $i + ((int)($num / $i));
                echo $i . ", " . (int)($num / $i) . ", ";
            }
        }
    }
    return $sum - $num;
}
        
$num = 24;
$sum = SumNumberProperDivisors($num);
echo "num = " . $num . " sum = " . $sum . " abundant = " . ($sum > $num ? "true" : "false") . "\n";

$num = 21;
$sum = SumNumberProperDivisors($num);
echo "num = " . $num . " sum = " . $sum . " abundant = " . ($sum > $num ? "true" : "false") . "\n";




/*
run:

1, 24, 2, 12, 3, 8, 4, 6, num = 24 sum = 36 abundant = true
1, 21, 3, 7, num = 21 sum = 11 abundant = false

*/

 



answered Nov 1, 2022 by avibootz

Related questions

1 answer 107 views
1 answer 98 views
1 answer 92 views
1 answer 107 views
1 answer 100 views
2 answers 103 views
2 answers 109 views
...