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;
}