Php 函数,该函数返回所有整数';s除数或返回字符串';(整数)是素数';如果是质数
嘿,到目前为止,我得到的解决方案给出了一些整数的预期结果,但不满足测试用例(codewars)Php 函数,该函数返回所有整数';s除数或返回字符串';(整数)是素数';如果是质数,php,Php,嘿,到目前为止,我得到的解决方案给出了一些整数的预期结果,但不满足测试用例(codewars) 您将很快终止循环,只需看看这些数字的sqrt()是什么 将循环终止在整数的一半处 function divisors($integer) { $array = []; if($integer<=1) return false; $end = $integer / 2; for($i = 2 ; $i <= $end; $i++){
您将很快终止循环,只需看看这些数字的sqrt()是什么 将循环终止在整数的一半处
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;
}
}
感谢大家的所有投入,下面的解决方案,通过了所有的测试用例
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
函数除数($integer){
$array=[];
如果($integer>1)
{
对于($i=2;$i<$integer;$i++){
如果($integer%$i==0){
$array[]=$i;
}
}
if(空($array)){
返回$integer.“是素数”;
}
否则{
返回$array;
}
}//如果($integer>1)关闭
}//端函数除数
良好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您将感谢我。非常感谢您指出,它给出了正确的结果,但仍然给了我失败的测试用例,说明“3,5”与预期的类型“array”不匹配。请尝试返回数组,而不是分解的数组
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;
}
}
2, 3, 4, 6
5
13 is prime
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