PHPスクリーニング法で質量数を求める.
456 ワード
ネット上のいくつかの書き方と考えを参照しました
function sift_prime($max) {
for ($i = 2; $i <= $max; $i ++) {// bool,
$data[$i] = true;
}
for ($i = 2; $i < $max; $i ++)
if (true == $data[$i])
for ($j = $i + 1; $j <= $max; $j ++)
if (0 === $j % $i)// , false
$data[$j] = false;
foreach ($data as $key => $prime) {
if (true == $prime)// true,
$newdata[] = $key;
}
return $newdata;
}