課題:できるだけ少ない文字を使用して次の出力を生成します。
_ _ _ _ _ _ _
| | | | ___| | | ___ __ _____ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_)
|/
規則と制限:
FIGLetまたは同様のツールを使用することはできません。(そうで
figlet Hello, world!
なければ、ささいな、ほとんど無敵のソリューションになります。)プログラムは完全に印刷可能なASCII文字で構成されている必要があります。具体的には、コードポイント9(TAB)、10(LF)、および32〜126です。 、残念ながら、構文の一部として非ASCII文字(または非テキストデータ)を必要とする言語は失格となります。
出力は上記の例とまったく同じである必要があります。ただし、必要に応じて、出力の周りに余分な空白を含めることができます。8文字のタブ間隔(または、一貫性がある場合は、選択したプラットフォームのネイティブのデフォルト設定)を想定できます。
追伸 パーを設定するために、199文字のPerlソリューションを思いつきました。ただし、誰かが独自に思いついた場合に備えて、まだ投稿しません。(また、それはちょっと安っぽいです。)もちろん、これはあなたがあなたの解決策を投稿することを、それが長くてもあなたを落胆させるべきではありません。
更新:今すぐという漢はそれを殴られた 1つの文字で、ここで私の安っぽい199-charはPerlのソリューションです:
use Compress'Zlib;say uncompress unpack u,'M>-I]BT$*`S$,`^]YQ=R:0,&_Z<DP?8@?WVQJ]E2J"%E$$@)R(/(/MCJ*\U!OM`Z#=5`4Y>6M=L\L%DMP&DB0V.4GQL&OOGB$4:%`4TT4!R8O-Z(^BTZWNV?>F86K:9+""-35*-LNC:T^D:_$#%^`";"DD0'
DCのソリューション(およびさまざまな言語のzlib / gzipベースの他のすべてのソリューション)と非常によく似ていますが、base64の代わりにuuencodingを圧縮テキストおよびその他のいくつかのマイナーなゴルフトリックに使用しました。
更新2:勝者を正式に受け入れる時が来たと思います。最初の場所はkonsolenfreddyのPHPコードです。なぜなら、たとえ文字を数えたとしても、これはこれまでに送信された最短のコードだからです。実際、199文字のPerlコードからの最適化されたDEFLATEストリームと組み合わせると、さらに短い176文字のソリューションが得られます。
<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));
ただし、hanは、事前に作成された解凍ツールを使用せずに非常に接近することについて、特別な名誉言及に値すると思います。お二人におめでとう、そしてみんなに幸せな新年を!