プログラミングのお題 ..
59:デフォルトの名無しさん
19/05/20 20:08:45.44 HD7QqTZv.net
>>56 スマソ、ケアレスミスった、繋ぐ演算子は+ => *だた…orz
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
1839日前に更新/83 KB
担当:undef