一个数除了它本身以外的所有它的因子之和等于它本身,这个数就称之为完数。如:6 = 1 + 2 +3。
<?php
for ($i=1;$i<1000;++$i){
$sum = 0;
$arr = array();
for ($j=1;$j <= $i/2;++$j){
if ($i%$j ==0){
$sum += $j;
$arr[] = $j;
}
}
if ($sum == $i){
print($i.'=');
reset($arr);
while(list($key,$val) = each($arr)){
print($val);
if (current($arr)){
print('+');
}
}
print(";\n");
}
}
结果如下:
6=1+2+3;
28=1+2+4+7+14;
496=1+2+4+8+16+31+62+124+248;
Process finished with exit code 0