27 lines
681 B
PHP
27 lines
681 B
PHP
|
<?php
|
||
|
function abundant($input) {
|
||
|
$max = floor(sqrt($input));
|
||
|
$sum = 1;
|
||
|
for($div=2;$div<=$max ;$div++) {
|
||
|
if($input % $div == 0) {
|
||
|
$sum += ($input/$div != $div) ? $input/$div + $div : $div;
|
||
|
if($sum > $input)
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
//Find all abundant numbers
|
||
|
for($number = 12; $number <= 28123 ; $number++) {
|
||
|
if(abundant($number)) { $adjnum[] = $number; }
|
||
|
}
|
||
|
|
||
|
$sum = array_sum(range(1,23));
|
||
|
for($test = 24; $test <= 20162; $test++) {
|
||
|
$nadundant = true;
|
||
|
for($index = 0; $adjnum[$index] < $test; $index++) {
|
||
|
if(abundant($test - $adjnum[$index])) {$nadundant = false; break; }
|
||
|
}
|
||
|
if($nadundant) {$sum += $test; }
|
||
|
}
|
||
|
echo $sum;
|