ハードコードされた 2 桁の 10 進数 (.37 など) の最初の 9 乗をそれぞれ独自の行に出力する最短の Perl ワンライナーは何ですか?
出力は次のようになります。
1
0.37
0.1369
[etc.]
公式パールゴルフルール:
- (キー)ストロークの最小数が勝ちます
- ストローク数にはコマンドラインが含まれます
With perl 5.10.0 and above:
perl -E'say 0.37**$_ for 0..8'
With older perls you don't have say
and -E, but this works:
perl -le'print 0.37**$_ for 0..8'
Update: the first solution is made of 30 key strokes. Removing the first 0 gives 29. Another space can be saved, so my final solution is this with 28 strokes:
perl -E'say.37**$_ for 0..8'
perl -le'map{print.37**$_}0..8'
31 文字 - 「say」を使用して明らかな改善を試す 5.10 は持っていませんが、これは 28 文字です。
perl -E'map{say.37**$_}0..8'
seq 9|perl -nE'say.37**$_'
26 - はい、それは不正行為です。(そして、はい、私は 1 から 9 までの累乗を行っています。0 から 8 はばかげています。)
Perl 6 での楽しみのために:
28 文字:
perl6 -e'.say for .37»**»^9'
27文字:
perl6 -e'say .37**$_ for^9'
(少なくとも現在の空白の規則に基づいています。)
perl -e 'print .37**$_,"\n" for 0..9'
If you add -l to options you can skip the ,"\n" part
print.37**$_.$/for 0..8
提出前にプログラムを切り刻んだ場合は 23 ストローク。:-P
print join("\n", map { 0.37**$_ } (0..9));
perl -e "for(my $i = 1; $i < 10; $i++){ print((.37**$i). \"\n\"); }"
早速エントリーです。:)
改行固定!