如何在循环中选择下一个数字?

时间:2017-01-31 12:25:44

标签: php loops math element next

素数的函数很清楚,所以我省略了它。

$prime

现在我想要选择序列的下一个术语,以便在变量$next_prime$prime_gap=bcsub($next_prime, $prime); 之间执行操作,只要循环继续 - 例如:

{{1}}

无论我找到什么解决方案,我都会尝试,但这绝不是合适的解决方案。这肯定很简单,但我已经绝望了。

2 个答案:

答案 0 :(得分:0)

我建议你先创建一个next_prime()函数。像这样,例如:

function next_prime($n) {
    do {
        $n++;
    } while (!Prim($n));
    return $n;
}

然后您可以非常轻松地重构代码:

$a=10;
$z=30;
for ($p1=next_prime($a),$p2=next_prime($p1); $p2<$z; $p1=$p2,$p2=next_prime($p2)) {
    if (some_function($p1, $p2)) {
        echo "I like $p1 and $p2\n";
    }
}

答案 1 :(得分:0)

我在for循环中添加的if不太好,但是如果你想要一些简单易懂的东西,你仍然可以使用它(我将名称从$ prime&amp; $ next_prime切换到$ prime&amp; $ previous_prime,我认为这更有意义)

$a=10;
$z=30;
$previous_prime = 0;

for($prime = $a; $prime<$z; $prime++)
{ 
  if (Prim($prime) == TRUE)
  {  
     echo $prime."<br/>";
     if ($previous_prime == 0) {
        $previous_prime = $prime
     } else 
     {
        $prime_gap = $prime - $previous_prime;
        $previous_prime = $prime;
     }
  }
}