>>518 Perl5、
>>576にヒントを貰った通り√を使ってnaiveに書くと…
use POSIX 'ceil';
for $n (81, 87, 91) {
$r = ceil sqrt $n;
for ($r..$n) {
$i = $_;
last until $n % $_;
}
print "$n => $i\n"
}
実行結果
~ $ perl 18_509_99_naive.pl
81 => 9
87 => 29
91 => 13
計算量の少ないもう少しカッチョイイ方法を見出せればなぁ…