[PHP]HJ6 质数因子

php第一个版本:(超时了 输入2000000000014的时候)

<?php 
    $str = fgets(STDIN);
    $num = (int)trim($str);
    for($i =2;$i<$num;$i++){
        while($num != $i){
            if($num % $i == 0){
                echo $i." ";
                $num = $num /$i;
            }else{ break;}
        }
    }
    echo $num;
?>

 php 第二个版本:通过了

<?php 
    $str = fgets(STDIN);
    $num = (trim($str));
    getParm($num);
 
 function getParm($num){
      $sqrtNum = (int)sqrt($num);
     $i= 2;
      for (;$i <= $sqrtNum; $i++){
            if ($num % $i == 0){
               echo $i." ";
                getParm((int)($num/$i));
                break;
            }
        }
     if ($i == $sqrtNum +1){
                 echo $num." ";
               
            }
 }
?>
原文地址:https://www.cnblogs.com/beibeibao/p/15740003.html