Heim  >  Artikel  >  Backend-Entwicklung  >  用于简单算法尝试

用于简单算法尝试

WBOY
WBOYOriginal
2016-07-25 09:01:10885Durchsuche
如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。
  1. //判断是否是完数
  2. function is_factor($factor)
  3. {
  4. if($factor if($factor==1) return array(1);
  5. if(!isset($arr)){$arr=array();}
  6. for($i=1;$i if($factor%$i==0){
  7. $arr[]=$i;
  8. }
  9. }
  10. $len=count($arr);
  11. $i=0;$temp=0;
  12. while($i if($temp==$factor) return $arr;
  13. else return false;
  14. }
  15. $factor=6;
  16. $count=0;
  17. for($i=1;$i {
  18. $res=is_factor($i);
  19. $len=count($res);
  20. if(is_array($res)){
  21. echo $i.'=';
  22. for($j=0;$j if($j!=0) echo '+'.$res[$j];
  23. else echo $res[$j];
  24. }
  25. $count++;
  26. echo '
    ';
  27. }
  28. }
  29. if($count==0) echo '不存在完数!';
复制代码


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