必要な数字は2^4 の16 と、3^2 の9、あとは、5,7,11,13,17,19 で、
これを掛けていけば解ける。他の数字はこれらの数字の組み合わせ。
<?php
// 1から20 までを分解する
// 1から20 までの素数は手で求めておく
$prime = array(2=>0,3=>0,5=>0,7=>0,11=>0,13=>0,17=>0,19=>0);
$answer = 1;
for($i = 2 ; $i <= 20 ; $i++)
{
$num = $i;
foreach($prime as $key => $value)
{
$count = 0;
while($num % $key == 0)
{
$num = $num / $key;
$count++;
}
if($prime[$key] < $count)
{
$prime[$key] = $count;
}
if($num == 1)
{
break;
}
}
}
foreach($prime as $key => $value)
{
$answer *= pow($key , $value);
}
echo $answer;
?>