欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用于简单算法尝试

程序员文章站 2022-06-09 08:34:59
...
如果一个大于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 '不存在完数!';
复制代码