간단한 알고리즘 시도에 사용됩니다.

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


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿