2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
以下解決方案,通過了所有測試用例
function divisors($integer) {
$array = [];
if($integer >1)
{
for($i = 2 ; $i < $integer ; $i++){
if($integer% $i == 0){
$array[] = $i;
}
}
if (empty($array)){
return $integer. " is prime";
}
else{
return $array;
}
}//close if($integer>1)
}//END function divisors

TA貢獻1858條經(jīng)驗 獲得超8個贊
您將很快終止循環(huán),只需查看這些數(shù)字的 sqrt() 是什么。
而是在整數(shù)的一半處終止循環(huán)
function divisors($integer) {
$array = [];
if($integer<=1)
return false;
$end = $integer / 2;
for($i = 2 ; $i <= $end; $i++){
if($integer % $i == 0){
$array[] = $i; // more efficient than array_push if youare just pushing on thing
}
}
if (empty($array)){
return $integer. " is prime";
}else{
return $array;
}
}
結(jié)果
2, 3, 4, 6
5
13 is prime
- 2 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報