プログラミングのお題 ..
56:デフォルトの名無しさん
19/05/20 19:58:48.02 HD7QqTZv.net
>>前スレ988 Perl5
スレリンク(tech板:988番)
sub p {
$h = int $n/2;
for ($i=2; $i<=$h; $i++) {
$s[$i] = 1 unless exists $s[$i];
do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
}
@p = grep{$s[$_]} 2..$h;
}
sub f {
my $i = shift;
my $h = int $i/2;
for $j (grep{$_ <= $h} @p) {
return ($j, f($i/$j)) if 0 == $i % $j;
}
$i
}
for $n (qw{28 2002 216653}) {
p;
my %f; $f{$_}++ for f($n);
@f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
$" = '+';
print "$n => @f\n";
}
実行
~ $ perl 13_988.pl
28 => 2^2+7
2002 => 2+7+11+13
216653 => 216653
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
1940日前に更新/83 KB
担当:undef