Project Euler にチャレンジ:Problem 28 PHPでの解答

← Problem 27  Problem 29 →
<?php
// 1×1 の時は  1
// 3×3 の時は  3,5,7,9    (1から2 ずつ増える)
// 5×5 の時は 13,17,21,25 (9から4ずつ増える)
// (2n+1)*(2n+1)の時は、    2nずつ増える

$answer = 1;
$tmp = 1;

for($n = 1;$n <= (1001 - 1)/2 ; $n++)
{
	for($i = 0 ; $i < 4 ; $i++)
	{
		$answer = $answer + $tmp + 2 * $n;
		$tmp = $tmp + 2 * $n;
	}
}

echo $answer;

?>
問題文