首页 >php教程 >PHP源码 >因数与完全数

因数与完全数

PHP中文网
PHP中文网原创
2016-05-26 08:21:021933浏览

一段函数获取完全数

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] [&#39;full&#39;] = $i; // 将这个数存进数组
				$res [$i] [&#39;mul&#39;] = $arr; // 将这个数的因数也存进数组
			}
  $arr = array (); // 每求得一个完全数,存放因数的数组要清空,不然多个数的因数会存在在一起,结果错误
		}
	}
	if (isset ( $res )) {
		return $res;
	} else {
		return false;
	}
}

$arr = get_mul ( 1000 );
if ($arr) {
	echo &#39;100以内的完全数有:
&#39;;
	foreach ( $arr as $key => $value ) {
		echo $value [&#39;full&#39;] . &#39;--它的因数有:&#39; . implode ( &#39;,&#39;, $value [&#39;mul&#39;] ) . &#39;(不包括本身)
&#39;;
	}
} else {
	echo &#39;无任何完全数&#39;;
}

                   

 以上就是因数与完全数的内容,更多相关内容请关注PHP中文网(www.php.cn)!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn