<?php
// Problem 10 と同様に素数を求める。
// 2を除き、それ以外の素数は全て奇数なので、奇数だけ調べる。
// 循環素数なので、数字の中に 2,4,5,6,8,0 が入っていてはいけない。
// 調査対象は奇数だけなので、2は除外しておく。
$prime = array(3,5,7);
$answer_array = array(2,3,5,7);
// 調査対象は7 の次の奇数から
$num = 7;
while($num < 1000000)
{
$num += 2;
$sqrt = sqrt($num);
$flag = true;
foreach($prime as $v)
{
if($num % $v == 0)
{
$flag = false;
break;
}
if($sqrt < $v)
{
break;
}
}
if($flag)
{
$prime[] = $num;
if(strpos($num,"2") === false and strpos($num,"4") === false and strpos($num,"5") === false and strpos($num,"6") === false and strpos($num,"8") === false and strpos($num,"0") === false)
{
$flag = false;
$tmp = $num;
$len = strlen($num);
// 数字を回転させる
$flag2 = true;
do
{
$tmp = substr($tmp,$len - 1,1).substr($tmp,0,$len - 1);
echo $tmp." ";
// tmp が素数か否かチェック
$sqrt = sqrt($tmp);
foreach($prime as $v)
{
if($tmp % $v == 0)
{
$flag2 = false;
break;
}
if($sqrt < $v)
{
break;
}
}
}while($tmp != $num and $flag2);
echo "\n";
if($flag2)
{
$answer_array[] = $num;
}
}
}
}
$answer = count($answer_array);
echo $answer;
?>