[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." ";
}
}
?>

浙公网安备 33010602011771号