Heim  >  Artikel  >  php教程  >  因数与完全数

因数与完全数

PHP中文网
PHP中文网Original
2016-05-26 08:21:021914Durchsuche

一段函数获取完全数

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)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn