2017-02-24 129 views
0

我一直在努力创建一个素数的数组。到目前为止,我已经在它列出所有素数从2到1000的地方工作。我现在要做的是使用增量计数< 100或类似的东西生成前100个素数。这是我目前的代码。使用循环填充第一个100个素数的数组

<?php 

function prima($n) 
{ 
$primeNumbers = []; // Initiate result array 
for ($i = 1; $i <= $n; $i++) 
    { 
    $counter = 0; 
    for ($j = 1; $j <= $i; $j++) 
     { 
     if ($i % $j == 0) 
      { 
      $counter++; 
      } 
     } 

    if ($counter == 2) 
     { 
     $primeNumbers[] = $i; // store value to array 
     } 
    } 

return json_encode($primeNumbers); // return converted json object 
} 

header('Content-Type: application/json'); // tell browser what to expect 
echo prima(1000); // echo the json string returned from function 

?> 
+1

当你达到极限时,只要跳出循环:'if($ counter == 100)break;' – Barmar

回答

1

在for循环结束时,添加'if(count($ primeNumbers)== 100)break;'

+0

这就是我想要做的。谢谢 – user2168066