<?php
$answer = 0;
for($i = 1 ; $i <= 10000 ; $i++)
{
$sqrt = sqrt($i);
// 無理数か否かをチェック
if($sqrt != (int)$sqrt)
{
$tmp_array = array();
// 23 の場合だけ考える
// bunbo の初期値
$tmp1 = (int)$sqrt;
$tmp2 = 1;
$tmp1_0 = 0;
$tmp2_0 = 0;
while(true)
{
$bunbo = ($i - $tmp1 * $tmp1) / $tmp2;
$bunshi = $tmp1;
$tmp3 = 0;
while($bunshi > $sqrt * -1)
{
$bunshi = $bunshi - $bunbo;
$tmp3 ++;
}
$bunshi = $bunshi + $bunbo;
$tmp3 --;
$tmp_array[] = $tmp3;
$tmp1 = $bunshi * -1;
$tmp2 = $bunbo;
if(count($tmp_array) == 1)
{
// 最初に出てくる $tmp1 と $tmp2 を覚える
$tmp1_0 = $tmp1;
$tmp2_0 = $tmp2;
}
// $tmp1_0 と $tmp1 , $tmp2_0 と $tmp2 の値が一致したら循環したということで、
// ループ終了
else if($tmp1_0 == $tmp1 and $tmp2_0 == $tmp2)
{
break;
}
}
// 周期が奇数になる場合をカウント
if((count($tmp_array) - 1) % 2 == 1)
{
$answer++;
}
}
}
echo $answer;
?>