[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." ";
               
            }
 }
?>
posted @ 2021-12-28 11:39  90后程序媛  阅读(47)  评论(0编辑  收藏  举报