使用PHP,求解1000以内的所有完数
一个数如果恰好等于它的因子之和,这个数就称为"完数"。编程 找出1000以内的所有完数。
话不多说直接上干货
<?php
//首先我们要了解什么是因子数
//因子数是一个数的所有因数如6的因数有1,2,3,6
//完数是出去本身之外的所有因数的和 6 = 1+2+3
//第一步:先定义一个变量来做累加
$count = 0;
//使用一个变量来计算完数的总个数
$sum = 0;
//第二步:使用循环语句来找出数
for($x = 1;$x < 1000;$x++){
//外层走一圈,内层走外层循环次数
for($y = 1;$y < $x;$y++){
//使用if判断来找出是否被整除
if($x%$y == 0){
//如果整除则将$y累加存进$count中
$count+=$y;
}
}
//在外层循环中判断$count是否和$x相等
if($count == $x){
$sum++;
//如果相同就输出$x
echo $x.'<hr />';
}
//最后一步,也是最重要的一步,一定要将$count清零
//不清零则会一直累加,得不到你想要的值
echo $count = 0;
}
echo '总共有完数:'.$S.'个';
?>
//结果展示