什麼是最短的Perl單線程,它打印出硬編碼的2位小數(例如,.37)的前9個冪,每個都在它自己的行上?Perl golf:打印數字的能力
輸出看起來是這樣的:
1
0.37
0.1369
[etc.]
官方Perl的高爾夫規則:
- 最小的(關鍵)筆畫數勝
- 您的行程計數包括命令行
什麼是最短的Perl單線程,它打印出硬編碼的2位小數(例如,.37)的前9個冪,每個都在它自己的行上?Perl golf:打印數字的能力
輸出看起來是這樣的:
1
0.37
0.1369
[etc.]
官方Perl的高爾夫規則:
用Perl 5.10.0及以上:
perl -E'say 0.37**$_ for 0..8'
隨着你沒有say
和-E舊的皮爾斯,但這個工程:
perl -le'print 0.37**$_ for 0..8'
更新:第一解決方案由30個按鍵組成。除去第一0給人29.另可節省空間,所以我最終的解決辦法是用這28招:
perl -E'say.37**$_ for 0..8'
perl -e "for(my $i = 1; $i < 10; $i++){ print((.37**$i). \"\n\"); }"
只是一個快速入口。 :)
固定到換行符!
print join("\n", map { 0.37**$_ } (0..9));
perl -e 'print .37**$_,"\n" for 0..9'
如果添加-l你可以跳過選項「\ n」的一部分
print.37**$_.$/for 0..8
如果您在提交前切斷程序,則爲23筆。 :-P
perl -le'map{print.37**$_}0..8'
31個字符 - 我沒有使用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'
(至少基於當前的空白規則。)
如果你不想要,你不需要玩 – 2008-10-16 20:35:17
讓人們克服他們對於perl作爲只寫語言的恐懼的好方法:-P – Tanktalus 2008-10-16 20:51:28
看起來有兩個28個筆畫,兩個都是需要`Perl 5.10`。 – 2008-10-16 23:06:27