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

← Problem 39  Problem 41 →
<?php

// $n が 1,10,100,1000,10000,100000,1000000となったときの値を覚えておく。
$n = 0;
$i = 1;
$digit = 1;
$answer = 1;

while($n <= 1000000)
{
	$n += strlen($i);
	if($n >= $digit)
	{
		$tmp = $n % 10;
		$answer = $answer * substr($i,strlen($i) - $tmp - 1, 1);
		$digit = $digit * 10;
	}
	$i++;
}
echo $answer ;
?>
問題文