下面的代码适用于因子(6)。但是,对于因子(-8),代码返回空白页。我已经尝试了很多,但我找不到有什么问题
function factor($n){
for ($x = 1; $x <= sqrt($n); $x++)
{
if ($n % $x == 0)
{
$z = $n/$x;
echo "$x and $z"."<br><br>";
}
}
}
答案 0 :(得分:3)
你想避免想象中的数字 - 特别是在循环中。似乎PHP无法很好地处理这个问题。
使$ n为正数,该函数将起作用:
function factor($n){
for ($x = 1; $x <= sqrt(abs($n)); $x++)
{
if ($n % $x == 0)
{
$z = $n/$x;
echo "$x and $z"."<br><br>";
}
}
}