<?php
// Problem 7 と同様に素数を求める。
// Problem 7 のままでは遅すぎるので、素数か否かを調べるときに、
// 素数の平方根(ルート)の値までで割ることとする。
// 2を除き、それ以外の素数は全て奇数なので、奇数だけ調べる。
$answer = 17;
// 調査対象は奇数だけなので、2は除外しておく。
$prime = array(3,5,7);
// 調査対象は7 の次の奇数から
$num = 7;
// 10001 番目の素数を見つける
while($num < 2000000)
{
$num += 2;
$sqrt = sqrt($num);
$flag = true;
foreach($prime as $v)
{
if($num % $v == 0)
{
$flag = false;
break;
}
if($sqrt < $v)
{
break;
}
}
if($flag)
{
//echo $num."\n";
$prime[] = $num;
$answer += $num;
}
}
echo $answer;
?>