一段函数获取完全数
header("Content-type:text/html;charset=utf-8"); /* * 因数概念:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因数。 * 完全数概念:如果一个数恰好等于它的因子之和,则称该数为“完全数”。 */ function get_mul($num) { for($i = 1; $i <= $num; $i ++) { for($j = 1; $j < $i; $j ++) { // 内层for循环求一个数的除自身外的所有因数 if ($i % $j == 0) { $arr [] = $j; } } if (isset ( $arr )) { if (array_sum ( $arr ) == $i) { // 如果因数的和刚好等于这个数,说明它是完全数 $res [$i] ['full'] = $i; // 将这个数存进数组 $res [$i] ['mul'] = $arr; // 将这个数的因数也存进数组 } $arr = array (); // 每求得一个完全数,存放因数的数组要清空,不然多个数的因数会存在在一起,结果错误 } } if (isset ( $res )) { return $res; } else { return false; } } $arr = get_mul ( 1000 ); if ($arr) { echo '100以内的完全数有: '; foreach ( $arr as $key => $value ) { echo $value ['full'] . '--它的因数有:' . implode ( ',', $value ['mul'] ) . '(不包括本身) '; } } else { echo '无任何完全数'; }
以上就是因数与完全数的内容,更多相关内容请关注PHP中文网(www.php.cn)!