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,因此,我仅对此进行计数。
不幸的是,原始代码只有一对,[]
而且太多了.
,所以我无法真正使Brainfuck适应(因此oOo代码)。
笔记
事实证明这是令人惊讶的限制,因为:
- 可用的完整位数是
001111111222
,要求ord
用于Ruby和Python。特别是没有5
,事实证明这对Pyth来说很痛苦。
- 缺少
@
意味着p
需要使用它来放置@
Befunge。
- 缺乏
*
含义意味着我们必须通过除以数字的倒数来相乘。好玩
Befunge-93
Befunge程序是
v
1
!
_" fabaaaca"-.-.-.-.+"O"2::++p
我们跳过了无用的说明。我们编码每个数字作为一个字符之间的ASCII值的差异,特别是cabf
对a
。
代码
对应的BF为
>><->>->>>><>+++++[>++++++++++<-]>.--.+.++++.>>[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>->>>>>>>>>>>>>>>>>>>>>>->>>>>>>>>>>>>>>>>><;;;;;;;;;;;;;;;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>->>>]
,其中唯一相关的部分是
+++++[>++++++++++<-]>.--.+.++++.
腐霉菌
Pyth仅执行第一行,因此
+2012+1+1e1 or b+bbv+b+NN
请注意,Pyth使用前缀表示法,因此该行的第一部分实际上是
2012 + (1 + (1 + (1 % 10)))
(注:e
表示%10
)
由于Pyth的性质,此文件会自动打印。该行的其余部分是有效的Pyth,但是o
禁止自动打印之前的前面的空格。
Python 3
大多数Python代码使用字符串注释掉,尤其是中间的一个大的三引号字符串。忽略一些杂散的字符串,我们有:
+2012+1+1e1 or b+bbv+b+NN
"""
...
"""
one=1
print(int(ord('A')/(one/(ord(' ')-one))))
id
第一行和最后一行在语法上均有效,但不执行任何操作。中间的两行显示了我们需要的内容。
红宝石
Ruby代码类似,但是我们使用Heredoc而不是三引号引起来的字符串来注释掉大部分程序。忽略一些杂散的字符串,我们有:
+2012+1+1e1 or b+bbv+b+NN
p((('?'.ord-' '.ord )/(1.0/'A'.ord)).to_i)
<<id
...
id
同样,第一行在语法上是有效的,但是什么也不做。第二行显示了我们需要的内容。