Befunge-93、2085バイト
私は楽しんで、リサイクルされたものをリサイクルしてメタになると思った。ここでは簡潔さの表彰は受けません。
+2012+1+1e1 or b+bbv+b+NN
"a"""""
p((('?'.ord-' '.ord )/(1.0/'A'.ord)).to_i)
<<id
1
!
_" fabaaaca"-.-.-.-.+"O"2::++p
aa
AaAAaAAaAAaAAaA
eEe ddd OoOOoOOoOOoOOoOOoOOoOOoOOoOOoO ddD Ccc eEE
ccc LLl
SssSss LLl
SsS LLl
SsSSsSSsSSsS LLl
cccccc
mMm
+ + a pppp pppp y y n n eeeee + + y y eeeee a rrr "
+ + a a p p p p y y nn n e + + + y y e a a r r "
+++++ aaaaa pppp pppp y n n n eee + + + y eee aaaaa rrr "
+ + a a p p y n nn e + + y e a a r r
+ + a a p p y n n eeeee + + y eeeee a a r r "
Hope to see another round of awesome programming puzzles and code golf challenges
===============================
"" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " ' ' ' ' '
Big char dump below (will clean up if there's more languages to squeeze in):
$$$$$$$()++++++++++++++++++++++++++++--------------------------/////:::;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<>>>>>??AAACCDDEEEFHHLLMMMMM
NOOOOOOOOOOORRRRRRRRRSSSUUUUV[\]___aaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbcccccccccccccddddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeffffffffffghhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiilll
llllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnn
nnnnnnnnnnnnnoooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppp
ppppppppppppprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssss
ssssssssssssssssssssssssstttttttttttttttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuvvvvvvvvwwxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
"""
one=1
print(int(ord('A')/(one/(ord(' ')-one))))
id
"mOO"
これは、実際には5つの言語の多言語です:Befunge-93、oOo Code、Pyth、Python 3およびRuby。ただし、元のコードはBefunge-93でのみ構文的に有効であるため、私はそれだけをカウントしています。
残念ながら、元のコードにはsのペアが1つしかなく、sが[]
多すぎた.
ため、実際にBrainfuckを組み込むことができませんでした(したがってoOoコード)。
ノート
次の理由により、これは驚くほど制限的であることが判明しました。
- 使用可能な数字の完全なセットはです。RubyおよびPythonの
001111111222
使用が必要ord
です。特に5
、Pythにとって苦痛であることが判明したがありません。
- Befunge を配置するために使用する必要がある
@
ことを意味しp
ていません@
。
- 欠如は
*
、数の逆数で割ることによって乗算しなければならなかったことを意味しました。楽しい。
Befunge-93
Befungeプログラムは
v
1
!
_" fabaaaca"-.-.-.-.+"O"2::++p
役に立たない指示をスキップしました。私たちは、特に文字、間のASCII値の差として各桁をエンコードcabf
対a
。
oOoコード
対応するBFは
>><->>->>>><>+++++[>++++++++++<-]>.--.+.++++.>>[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>->>>>>>>>>>>>>>>>>>>>>>->>>>>>>>>>>>>>>>>><;;;;;;;;;;;;;;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>->>>]
、唯一の関連部分は
+++++[>++++++++++<-]>.--.+.++++.
パイス
Pythは最初の行のみを実行するため、
+2012+1+1e1 or b+bbv+b+NN
Pythはプレフィックス表記を使用するため、行の最初の部分は実際には
2012 + (1 + (1 + (1 % 10)))
(注:をe
意味します%10
)
Pythの性質により、これは自動的に印刷されます。行の残りは有効なPythですが、前のスペースo
は自動印刷を抑制します。
Python 3
Pythonコードの大部分は、文字列、特に中央にある3つの大きな引用符で囲まれた文字列を使用してコメント化されています。いくつかの浮遊ストリングを無視すると、次のようになります。
+2012+1+1e1 or b+bbv+b+NN
"""
...
"""
one=1
print(int(ord('A')/(one/(ord(' ')-one))))
id
最初と最後の行は構文的に有効ですが、何もしません。中央の2行は、必要なものを印刷します。
ルビー
Rubyのコードも似ていますが、プログラムの大部分をコメントアウトするために、三重引用符で囲まれた文字列の代わりにheredocを使用しています。いくつかの浮遊文字列を無視すると、次のようになります。
+2012+1+1e1 or b+bbv+b+NN
p((('?'.ord-' '.ord )/(1.0/'A'.ord)).to_i)
<<id
...
id
繰り返しますが、最初の行は構文的には有効ですが、何もしません。2行目は必要なものを印刷します。