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