编程二分法(从字面上看)


33

考虑一个用简单的英语写的问题,该问题的答案包含两个相当准确(但可能很聪明)的单词或短语,可以用单词“和”分隔:

问:硬币的两个面是什么?-答:头和尾

问:什么是最好的旅行方式?答:飞机和喷气背包

问:为什么乌鸦像写字台?答:因为两者都有一个“ b”,两个都不都有“ n”

目标

编写一个程序,该程序在正常运行时会输出这样的问题。

当从第二个字符开始从程序中删除所有其他字符并重新运行结果时,输出应为答案中“ and” 左边的任何内容。

当从第一个字符开始从程序中删除所有其他字符并重新运行结果时,输出应为答案中“ and” 右边的任何内容。

(“和”本身不会输出。)

如果程序是

A1B2C3D4E5F6G7H8I9

它的输出是

What are the two sides of a coin?

那么的输出ABCDEFGHI应该为heads和的输出123456789应该为tails

有关问答的规则

  • 您可以使用我的示例问题,但我鼓励您自己回答。
  • 问题和两个答案部分:
    • 必须全部不同
    • 应该是常用的语法有意义的英语
    • 只能包含可打印的ASCII(十六进制20至7E)
  • 理想情况下,问题应大写并标点(但不一定需要答案)。
  • 问题必须至少包含30个字符,并且大于或等于3.5。(输入字符串,点击计算,寻找最后的H(X)。)
  • 两个答案部分(不包括[space]and[space]它们之间的部分)必须至少包含5个字符,且熵大于或等于2。
  • 单词“和”可能出现在任一答案部分。

有关代码的规则

  • 3个代码段均不能:
    • 包含注释或编译器/解释器传统上忽略的任何其他内容(不必担心添加一两个多余的分号,但是如果您认为它是注释,则可能是)
    • 在执行中退出程序
  • 该代码可以包含任何字符,包括Unicode和不可打印的ASCII。
  • 它可能具有奇数或偶数个字符。
  • 输出将输出到stdout或文件或任何看起来合理的文件。没有输入。

计分

由于我不想鼓励打高尔夫球的答案,但我想鼓励更多的聪明的答案,因此得分将介于打高尔夫和普及比赛之间:

分数= (upvotes - downvotes) - floor((bytes in code that outputs question) / 3)

最高分获胜。

(使用http://mothereff.in/byte-counter作为字节计数器。)


6
Gah,用JavaScript这样的“普通”语言很难做到这一点。我能得到的最远的东西是x0=00;;。巨大的挑战!
门把手

@Doorknob很抱歉给您的船放气,但00;传统上被编译器忽略了……
John Dvorak

2
认真地...“苹果”的香农熵为1.92 ???
约翰·德沃夏克

4
It may have an odd or even number of characters是否有一些字符不是奇数或偶数?
零食

1
@Snack这使人们知道两个答案代码部分不必具有相同的长度。
加尔文的业余爱好

Answers:


55

Javascript(148位元组)

创建一些无意义的文字,其副作用是为问题创建警报*。(拆分操作类似,但为每个答案创建警报*)。

"';"+alert( 'What is the ideal breakfast???')+/ " ;apl=e"rbta(k"esnc"r.armebplleadc ee g g s(" ) + " \/)k;e"/+ ",t'hceo 'c)a;kye= ailse rat (lpi)e "

分割:

";+lr('hti h da rafs??)/";p="baken".replace   (    /ke/ ,'co');y=alert(p) 

'"aet Wa steielbekat?'+  alert("scrambled eggs")+"\);"+"the cake is a lie"

 

题: What is the ideal breakfast???

答案:baconscrambled eggs


4
我喜欢这个网站的这种品质!您还能在哪里找到可以做到这一点的人?
Cruncher 2014年

1
我参加了即兴课程(也许很显然),在这里我将为您提供+1的幽默价值。但是,正如所有光圈科学工程师都知道的那样,我们是科学的实践者...所以,实际上,最有趣的部分是制造整齐的枪支。:-)
Rebmu博士2014年

29

Brainfuck(437个字符)

我不得不承认这是我的第一个真正做到有意义的程序。该程序仅使用4个内存位置,因此针对低内存系统进行了高度优化。

题: What are the two main groups of trees?

答案:conifersbroadleafs

-+[[++++++++++++++++++++++[+>++++++[+>++++++++++++<>-+]+>+-+.++++++<+<+-+]+>+++++.+>++.+-..------.-<--..-+-+-+..->.-+-+-+.+<+++.+-+-+-+-+.++++.+++.+<.+>-+++-+++-+++-++.->]]++-+[[+-+-[[+++++++++++++++[>++>+++++>+++++++<<<-]>-->>---<++.+++++++++++++++++.-------.>.<<.>.>--.<++++.<.>>++.<+++.---.<.>>.+++.<++++++++++.<.>--.------------.++++++++.+++++.<.>-------.>-----.<++++++++.>+++.<+.>--.<<.>-.---------.<.>>+.--.<-..>+.<<[<++>-]<-.<]]]]

主循环

该程序由主循环(实际上不是一个循环,因为所有[]-块仅执行一次)和两个部分组成。

-+[[        // let answers enter
            * SNIP interleaved answer sections *
]]
++-+[[      // let odd answer and question enter
    +-+-[[  // let question enter
            * SNIP question section *
    ]]
]]

如果要独立测试部分,则必须考虑主循环。位置0在偶数答案中包含-1,在奇数答案中包含1,在问题部分中包含2。

答案部分

甚至回答(删除了奇怪的说明):

// location 0 contains minus 1 from main
// set location 1 = 10 * 10 minus 1 = 99 (c)
+++++++++++[>++++++++++<-]>-. // c
++++++++++++.-.     // on
-----.---.          // if
-.+++++++++++++.+.  // ers
<                   // goto 0 (which contains 0)
+-+-+-+-+-          // padding to match length of odd answer

奇怪的答案(甚至删除了说明):

// location 0 contains 1 from main
// set location 1 = 16 * 6 plus 2 = 98 (b)  location used for characters below 'l'
// set location 2 = 16 * 7 plus 2 = 114 (r) location used for 'l' and above
+++++++++++++++[>++++++>+++++++<<-]>++.>++. // br
---.<               // o
-.+++.              // ad
>---.<              // l
+.----.+++++.       // eaf
>+++++++.           // s
>                   // goto 3 (which contains 0)

问题部分

我决定将空间存储在单独的位置,因为它的值与其他字符完全不同。这样就可以用轻松打印空间<.>

// location 0 contains 2 from main
// set location 1 = 17 * 2 minus 2 = 32 (space)
// set location 2 = 17 * 5 plus 2 = 87 (W)   location used for characters below 'r'
// set location 3 = 17 * 7 minus 3 = 116 (t) location used for 'r' and above
+++++++++++++++[>++>+++++>+++++++<<<-]>-->>---<++. // W
+++++++++++++++++.  // h
-------.>.<         // at
<.>                 // (space)
.>--.<++++.         // are
<.>                 // (space)
>++.<+++.---.       // the
<.>                 // (space)
>.+++.<++++++++++.  // two
<.>                 // (space)
--.------------.    // ma
++++++++.+++++.     // in
<.>                 // (space)
-------.>-----.     // gr
<++++++++.>+++.     // ou
<+.>--.<            // ps
<.>                 // (space)
-.---------.        // of
<.>                 // (space)
>+.--.<-..>+.       // trees
<<[<++>-]<-.<       // ? (value_of_space * 2 minus 1)

最终更新

在我的最终更新中,我优化了乘法,以便使用最少的指令。在奇数答案部分还将“ l”添加到第二个字符组被证明是巨大的改进。奇数答案中的单个字符节省基本上意味着整个程序中的两个字符,因为这也减少了偶数答案中的填充。我还从这里和那里删除了一些不必要的指令,并且我认为我无法进一步优化代码。


23

批次-84

对此感到非常自豪

完整程序:硬币的两个侧面是什么?(安慰)

echo What are two sides of a coin?  2>>xx  2>>cc&&eecchhoo  hteaaidlss  2>>xx  2>>cc

仅偶数:头(“ c”文件)

eh htaetosdso  on 2>x >c&echo heads 2>x >c

仅赔率:尾部(“ x”文件)

coWa r w ie faci? >x 2>c&echo tails >x 2>c

在两种情况下,都可以通过将错误输出重定向到文件来工作。


已经考虑过缩短时间的方法,但这必须等到明天。
2014年

3
到目前为止,这是最高分:12-28 = -16。
2014年

20

蟒蛇-104 96(高尔夫:76)

我的解决方案非常简单(并且可读性强):

"";print 'What is the color of a zebra?' ;""
paraianat= "' b l a c k '"
aparaianat="'w h i t e'"

输出:

What is the color of a zebra?
black
white

老实说,我在bitpwner的答案中找到了第一行的想法。


甚至更易读的替代: - 113 105 97

"";print 'What is the color of a zebra?' ;""
"p r i n t ' b l a c k '" ;"p r i n t ' w h i t e '"

更短的选择:-86 76

"";print'What is the color of a zebra?';""
"""";;pprriinntt''bwlhaictke''"""

“棋盘”也满足要求。
Martin Ender 2014年

3
@MartinBüttner斑马。:-P
David Richerby 2014年

哦,我喜欢zebra。它完全适合30个字符的问题的“ golfed”版本。因此,我对解决方案进行了一些修改。:)
Falko 2014年

1
用三引号引起来的字符串不是注释,而是多行字符串。由于它们也用作文档字符串,因此它们可能会与注释混淆。
Falko 2014年

1
更新后的问题只有29个字符长。
丹尼斯

15

Rebmu:79个字符或(37 +长度(p1)+ 2 *最大(长度(p2),长度(p3)))

首先,我将提供一个79个字符的解决方案,询问您必须学习哪种语言?(熵4.0,不包括30个字母?),并为您提供Rebol和[Red]的建议:

DD  11  DD :do dd {dd  {p{Which languages must you learn?}qt}} pp{{[RReebdo]l}}

此处使用的一种独特的策略不是其他语言,它是利用了花括号是一个不对称的字符串定界符的事实,它可以合法地嵌套:

my-string: {"It's cool," said {Dr. Rebmu}, "for MANY reasons--like less escaping."}

这让我产生了一个通用的解决方案,该解决方案可以在不使用转义序列的任何程序上轻松工作。79个字符的版本足以简化快捷方式,但是要正确地包含程序p2和p3的任意程序源,则需要完整的模板。如果我们使用了它,那将是87个字符:

DD  11  DD :do dd {dd  {p{Which languages must you learn?}qt}} ddoo{{pp{{[RReebdo]l}}}}

使用这种一般形式的模式是,如果你有一个可变长度的连续字符三个源文本(让我们用一个例子一样AAABBBBBCCCCCCC)你可以编码它们沿着线的东西:

DD  11  DD :do dd {dd  {AAAqt}} ddoo{{BCBCBCBCBC C C}}

(注意:虽然这种模式必须在使用转义符的程序上进行调整,否则将无法正常工作,但这并不是致命的缺陷。在用大括号分隔的字符串中获得不匹配的左大括号需要类似{Foo ^{ Bar}...的操作,但是您可以轻松地使用可选的字符串表示法"Foo { Bar"和合并的案例可以通过将未转义的字符串混合在一起来管理。)

所以...怎么样?一旦有了通用的表格,这个573个字符的程序就可以在短短几分钟内从3种先前的代码高尔夫解决方案中进行组装:

DD 11 DD:do dd {dd {rJ N 0%rN Wa1m2j S {\ x /} D00 Hc&[u [Ze?Wa Qs〜rpKw [isEL00c [skQd2k] [eEV?kQ [tlQ]] pcSeg--b00 [ eZ 1 5] 3] prRJ [si〜dSPscSqFHs] eZ 1 [s + dCa + wM2cNO]] Va | [mpAp2j] prSI〜w { } Ls2w Wl h01tiVsb01n -1 chRVs { } hLceVn01qt}} ddoo {{BrdS [sn [{N sbeo [tIt0l1eV} 0e5gXN1 01L {5s0} C {1} 0 {0 Do5f0 0bMe1e0r0} 0]]] tMw9C9 Numz Jl [paN + [KperlCJBn [[ba sWS {B noJn Jt] aCn] {K,j} b P {。} lf EZ--n [N m {G otothestoreandbuysome more}] {警音和passitar声} c B w P lf]]}}

如果有人想尝试使用自己选择的语言编写该程序,并且认为自己可以胜过573,请告诉我。如果您愿意,我将为您赢得很多声誉-假设您选择的语言不是Rebmu,因为我知道这些程序并不是最低限度的。:-)

当p2和p3的长度不平衡时,会发生最后的“浪费”间距。但是在这种情况下,所有3个程序的大小都不同,因此对于p2 / p3没有特别好的配对。(我之所以选择它们,是因为没有外部数据作为输入,例如迷宫之类的东西,而不是它们的长度相似。虽然我可以编写更优化的新程序,但我花了足够的时间,重点是您不必编写新程序...)

怎么运行的

(注意:我从一种更“创意”的方法开始,这种方法不是简化的,而是看起来更有趣。由于描述了这种方法已经很长了,因此将其移至博客上的一个条目中。)

像其他条目一样,这里的关键是“以字符串形式的等效代码”的骗术,它只有不对称字符串定界符的王牌。我将从解释80个字符的情况开始。

这是“整体”程序,用于调整此案例的可读性的空白:

DD 11                    ; assign 11 to dd (about to overwrite again)
DD :do                   ; make dd a synonym for DO (a.k.a. "eval")

; eval a string as source code that ends with QUIT (QT)
dd {dd  {p{Which languages must you learn?}qt}}

; we'll never get here, but whatever's here must be legally parseable
pp{{[RReebdo]l}}

在这里,我们将DD设置为DO(也称为“ eval”)的同义词。但是诀窍在于,当减半的程序运行时,它们结束正在运行的代码,其唯一作用是将D定义为无害的文字1。

这是奇数字符代码的内容,再次调整了空格:

D 1                      ; assign 1 to d
D d                      ; assign d to itself, so it's still 1
d                        ; evaluates to integer, no side effect
{d pWihlnugsms o er?q}   ; string literal, no side effect
p {Rebol}                ; print "Rebol"

这是偶数字符代码:

D 1                      ; assign 1 to d
D:od                     ; URL-literal (foo:...), no side effect
d                        ; evaluates to integer, no side effect
{{hc agae utyulan}t}     ; string literal (well-formed!), no side effect
p {[Red]}                ; print "[Red]"

对于非平分程序,实际上就是这样,dd {dd {(arbitrary code)qt}}它将执行您想要的任何代码。但是,有两个评估请求,而不仅仅是一个。这是因为尽管嵌套括号在交错的代码中很好用,但它们却扰乱了DO的评估行为。因为:

do {{print "Hello"}}

将字符串作为程序加载,但是该程序只是字符串常量{print "Hello"}。因此,我在这里使用的技巧是获取DD(与DO保持相同的函数值)并运行两次。减法器咀嚼着琴弦的不同部分,但是如果内容的偶数/奇数正确,它们就不会咀嚼,而且减半后在琴弦外留下的只是积分常数,d因此它们是无害的。

有了这种模式,编写程序行为时即使没有切成两半也不成问题-您可以输入任何东西,只要代码的字符长度是偶数即可(如果要计算QT,则为奇数,即QUIT)。如果您需要从奇数中获得偶数,请在空格中添加一个空格(因此,对于p1的奇数程序长度,我在上面的公式中p1上实际上存在+1)。诀窍似乎是写出交错的代码,如果加倍,则必须通过解析器。(由于QT,它不会运行,但是在执行之前必须是可加载的。)

这种情况是微不足道的。pp即使未定义也可以很好地作为符号加载,并p在每个半个程序中拆分为打印。但是,只要再次使用字符串文字,我们就可以做另一种技巧。减半后的程序仍然具有正常定义的DO,因此我们也可以这样说:

ddoo{{pp{{[RReebdo]l}}}}

通过在整个情况下让解析器选择的唯一部分是符号词ddoo和字符串文字,我们可以然后在该字符串文字中插入我们希望的任何两个程序,而不会激怒解析器。减半的版本只会说:

do{p{Rebol}}

..和...

do{p{[Red]}}

就像我说的那样,对于将程序视为字符串并将其评估的其他解决方案,这部分看起来很熟悉。但是在比赛的情况下,当您要打包的程序包含嵌套的字符串时,就会为它们带来麻烦。在这里,唯一会困扰您的就是通过插入符号(^)进行转义...这很容易解决。


(小小的“作弊”注释:为响应此问题,我为“ QUIT”添加了QT。实际上,我之前故意删除了quit的缩写...因为某种原因,我认为这仅适用于控制台,并且占用了如果不是REPL,则使用两个字母的空格。我添加它是因为我发现我错了,尤其是在这种情况下不添加它。但是,在此更改之前,它要长2个字符。当我第一次发布解决方案时,Rebmu中存在一个错误,即使该错误应该存在,该错误也无法使它真正起作用。)


您实际上创建了自己的编程语言?
声音

2
@ tjt263最好考虑一下现有语言Rebol的代码高尔夫球“编码” 。人们使用Pyth做了类似的事情,Pyth基本上是Python的缩写。但是Rebmu有一个相当有趣的区别,因为它实际上可以由Rebol解析器加载,并且是“兼容的”。您可以随时在其中进行Rebol操作,例如Hourhour。如果愿意,很高兴在Rebol和Red chat中讨论它。
Rebmu博士16年

15

Perl的186 139 135

"";print'What are the best things in life?';""&&pprriinntt("'hceraurs ht hyeo ulra meennetmaiteiso'n s   o f   t h e i r   w o m e n ")

生活中最美好的事情是什么?

"pitWa r h ettig nlf?;"&print('crush your enemies'                 )

粉碎敌人

";rn'htaetebs hnsi ie'"&print"hear the lamentations of their women"

听到他们的女人的哀叹

使用冗长的答案:

佩尔79 72

"";print'What are my preferred weapons?';""&&pprriinntt("'smwaocredss'")

What are my preferred weapons?(30Byte,H(X)= 3.76)swords(H(X)= 2.25)和maces(H(X)= 2.32)


9

蟒蛇- 139 103

"";print'What are the ingredients for success?';""; ";" ;id=='"RUaniincboorwnss'";;pprriinntt  id++"'"'

What are the ingredients for success?-> UnicornsRainbows

测试:

c="\"\";print\'What are the ingredients for success?\';\"\"; \";\" ;id==\'\"RUaniincboorwnss\'\";;pprriinntt  id++\"\'\"\'"
exec c        # What are the ingredients for success?
exec c[::2]   # Unicorns
exec c[1::2]  # Rainbows
print 
print c[::2]  # ";rn'htaeteigeinsfrsces'";"";d="Unicorns";print d+''
print c[1::2] # "pitWa r h nrdet o ucs?;" ; i='Rainbows';print i+""

旧版:

# What are the ingredients for success?
"";print(('What are the ingredients for success?'));""; ";" ;"pHrEiRnEt (C'OUMnEiSc oZrAnLsG'O)"; ";" ; "p,r iTnOtN(Y' RTaHiEn bPoOwNsY'.)"
# Unicorns
";rn('htaeteigeinsfrsces')";"";print('Unicorns');"";", TONY THE PONY."
# Rainbows
"pit(Wa r h nrdet o ucs?);" ; "HERE COMES ZALGO" ;  print('Rainbows')

6

哈斯克尔(117)

必须使用Haskell的功能范式意味着必须将所有内容分配给变量或使用行注释--或块{- -}注释注释掉。无意义的废话功能无法运行。因此,为了保持理智,我将问题和答案保持在规则允许的范围内。

问题:我还不够吗?

main=putStrLn{---}"What can I not have enough of?"{- }
=u"Scrank=e"sS"h
omeasi"n
=mpauitnS=tpru taSntprt tmLi

-----}

“鞋子”和“蛋糕”:

mi=uSrn--"htcnInthv nuho?{ 
uSrn="Shoes"
main=putStr mi
--}
anpttL{-}Wa a  o aeeog f"-}="cakes"
main=putStr anpttL
---

注意:crank“我不能足够用吗?”下的外观 不应被视为有意义。


1
不允许发表评论
骄傲的haskeller 2014年

第二个有效的haskell语法又如何呢?
骄傲的haskeller 2014年

原始代码具有未封闭的注释块,因为封闭对位于行注释中。“蛋糕”代码甚至看起来都不像代码-anpttL是一个函数吗?定义中的=符号在哪里?它实际上不是anpttLWa吗?
骄傲的haskeller 2014年

@proudhaskeller错过了评论规则。对于那个很抱歉。第一个程序没有未关闭的注释块。它解析得很好。行注释在块注释中无意义。第二个有效,因为行注释有效。anpttL是一个字符串。删除块注释,您将看到它等于“蛋糕”。Wa 在块注释,所以,不,它实际上不是anpttLWa。
2014年

2
@proudhaskeller我的头让GHCi代表其工作。
2014年

4

Lisp(76个字符)

31个字符的问题,每个答案⟹长度为6个字符-有效负载= 33

'(: (pprriinncc''fmuacghesnitaa))':(princ "What is your favorite pink hue?")

我想使用“您最喜欢的颜色是什么?”,但即使扩展到英式拼写,它也只能达到问题长度的30个字符的最小值,并且我需要一个奇数长度的问题来平衡双引号。

他们说Common Lisp很冗长,但您不会这么认为。它甚至还不是很模糊,您只需要插入一些空格就可以看到引用的内容和执行的内容。

许多Lisp实现都会大喊大叫的颜色,因为它们会将符号扭曲为大写。如果那打扰您,请更改''fmuacghesnitaa""fmuacghesnitaa""


因为这个问题有投票权,所以我请它提请注意,以争取更多的选票。但是赏金用完了,我无法给自己要点:-)我将根据雷布姆的祖先语言将其提供给您,并鼓励您以前从未有过检查! codegolf.stackexchange.com/a/36114/57
博士2014年

3

斯塔塔295

问题:现在最适合烘烤的甜点是什么?答:布朗尼和饼干。

说明:STATA中的命令由换行符分隔。
“ //”是STATA中的注释,而“ ///”则告诉编译器继续下一行并将其内容包括在当前命令中。

STATA中的命令通常可以缩写为足以使它们具有差异性的唯一性(因此,“ generate”变为“ g”,“ global”变为“ gl”或“ glo”,“ capture”变为“ cap”,“显示”变为“ di”等)。display命令在屏幕上显示文本。capture命令捕获所有错误(包括语法错误),这就是该程序正确编译的原因。

我想如果您想变得挑剔的话,编译器会忽略一行中前三个连续的“ /”之后的任何其他“ /”。同样,在“巧克力蛋糕”程序中,技术上+“”是注释。但是我声称它仍然很重要,因为即使不是注释,捕获命令仍然会使它不相关。

感谢您阅读我的冗长解释。现在输入代码:

“现在最适合烘焙的甜点是什么?”

g   a = "g   q   /b/a/" 
g l= "b = ""b r o w n i e s "
g   c = "g   /b/a/" 
g lpo= "d = ""c o o k i e s "
g   e = "c a p  "  /////
 +  "d i ""$ b "
g   f = "c a p  "  /////
 +  "d i ""$ d "
g   g = "c a p  "  /////
 + "c a p   / / /  "+ "/ / /"
di "What are the best desserts to bake right now?"

“布朗尼”

g a="    ba"
gl b="brownies"
    g /// 
 p="  "       
g e="   " //
 di "$b"
    cap ///
+" "  
g g="   " //
  cap ///   +"  "
i"htaetebs esrst aergtnw"

“饼干”

    g q /// 
 ="  "        
g c="  ba"
glo d="cookies"
    cap ///
+" "  
g f="   " //
 di "$d"
    cap  ///
+ "       " ///
d Wa r h etdset obk ih o?

2

Ksh(82个字符)

35个字符的问题,每个答案⟹长度为5个字符-有效负载= 37

ec=\'o'(;)eehc(h)oe cChroi m$e1;; '\'
echo  What\'s the  country\'s worst problem?

我滥用了POSIX之外的函数定义语法。Dash和bash不能接受,但ksh(公共领域或ATT)可以。

没什么特别的事,只是一点回声。浪费不可。


2

PowerShell的88

"" > $x;{What is my favorite equipment?};"" >> ${x}

${XsXwXoXrXdX};;;${XsXhXiXeXlXdX}

我最喜欢的设备是什么?(30个字符,H(X)= 4.0314)

"  x{hti yfvrt qimn?;"> {}
{sword};$XXXXXXX

(5个字符,H(X)= 2.32193)

">$;Wa sm aoieeupet}" >$x
$XXXXXX;;{shield}

屏蔽(5个字符,H(X)= 2.58496)

在完整程序上,它将空字符串重定向到一个不存在的变量${x}(这些空字符串的引号用于形成一个无意义的字符串,该字符串在偶数/奇数版本中被重定向到一个空块{}或不存在的变量$x),然后打印问题并声明2个未使用的变量(将它们打印并放置在另一个未使用的变量旁边$XXXXXX$XXXXXXX放置在不同的情况下)。


1

GolfScript,51个字节

"Which are the sides of a coin? ".;""thaeialdss""

输出量

Which are the sides of a coin? 

怎么运行的

.;复制字符串并删除副本。""推送一个空字符串。thaeialdss是未定义的,因此它什么也不做。

奇数字符

"hc r h ie faci?";"heads"

输出量

heads

怎么运行的

; 从堆栈中删除第一个字符串。

连字符

Wihaetesdso  on ."tails"

输出量

tails

怎么运行的

Wihaetesdsoon没有。.复制堆栈上的空字符串。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.