如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。
- //判断是否是完数
- function is_factor($factor)
- {
- if($factor<1) return false;
- if($factor==1) return array(1);
- if(!isset($arr)){$arr=array();}
- for($i=1;$i<$factor;$i++){
- if($factor%$i==0){
- $arr[]=$i;
- }
- }
- $len=count($arr);
- $i=0;$temp=0;
- while($i<$len) {$temp+=$arr[$i];$i++;}
- if($temp==$factor) return $arr;
- else return false;
- }
- $factor=6;
- $count=0;
- for($i=1;$i<=$factor;$i++)
- {
- $res=is_factor($i);
- $len=count($res);
- if(is_array($res)){
- echo $i.'=';
- for($j=0;$j<$len;$j++){
- if($j!=0) echo '+'.$res[$j];
- else echo $res[$j];
- }
- $count++;
- echo '
';
- }
- }
- if($count==0) echo '不存在完数!';
-
复制代码
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31