补猫


24

目的编写一个完整的程序,输出(到STDOUT或最接近的替代品)任意长度不超过64个字符的文本字符串。很简单吧?好了,这很重要:您不能使用上一个答案的输出中存在的任何字符。是的,没有一个。

因此,您正在尝试成为总共三天的最后答案。也就是说,您不希望在发布问题后的72小时内回答该问题。

一些规则

  • 您的答案(和输出)只能包含可打印的ASCII字符,换行符(包括回车符)和制表符。
  • 您答案的输出可能与另一个答案的输出不同。当且仅当它们使用完全相同的字符时,两个输出才是相同的。
  • 您可以使用不是专门针对此挑战而设计的任何语言,即使它是在挑战之后做出的。(当然,这种语言必须是可测试的。)
  • 您不得使用以前使用的任何语言。
  • 您的输入内容可能不包含评论。您当然可以提供额外的评论程序。
  • 可能不会连续回答两次。
  • 您的程序必须至少为1个字节。

输入格式

您的答案通常应如下所示:

# {Language}
Uses: `characters present in the output`

Does not use: `characters used in the previous output` from [previous submission, language](link-to-previous-submission]

    {program}

Outputs:

    {output}

谢谢您提供答案的解释。


3
我对所要提出的问题感到困惑。我必须打印任何<= 64个char字符串,并且我不能在最新提交的输出中使用这些字符吗?
林恩

1
@Mauris是的,这是正确的。
Conor O'Brien

3
啊好吧; 有关“字符空间”的问题确实使IMO感到困惑。这个词没有任何意义...也许您应该重写它?
林恩

1
@question_asker如果没有人想出一个答案来关注您的答案,您将赢得挑战(并获得绿色的选中标记)。例如,如果我编写了一个程序,该程序输出每个可打印的ASCII字符,那么就不可能遵循(忽略那些为空程序生成输出的烦人的语言)。
ThisSuitIsBlackNot

1
@question_asker您的代码不能包含上一个答案的输出中的任何字符;您的输出不能使用与任何先前输出相同的字符集。如果第一个答案代码foo并输出bar,在接下来的答案的代码不能包含bar; 没有后续的回答可以输出abrarbbarbrarab,或rba。(是的,我同意这非常令人困惑。)
ThisSuitIsBlackNotNot

Answers:


2

红宝石

$><<'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" '

不使用 abcdefghijklmnopqrstuvwxyz{}\~_^[]|`一个答案

打印,并因此使用,ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"空格和换行符。


5

腐霉菌

用途: ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg

不使用:!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`abcdefghijklnsm{|}~来自Octave中的先前提交

码:

pMCMryyTyyytytttT

输出:

()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg

那里有空间吗?我想这里没有显示任何选项卡或换行符吗?看来下一个答案必须是空格答案(或至少接近)...
Stewie Griffin 2015年

我的输出中没有空格;我不知道该语言是否添加了换行符
Lynn 2015年

5

脑干

用途: -.

不使用:!"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{| 来自CJam。感谢SuperJedi

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.-------------------------------------------------------------------------------------------.-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

输出:

; (){}[]"'

2
可以将其更改为仅使用-.。那是我为挑战而提出的建议。
SuperJedi224


2
抱歉,我uses指的是那部分是代码中使用的实体。在开始使用下降投票之前,先给我分钟。
Seadrus

3

贾姆

用途: 0123456789:;_bc

不使用:!GSaefgimnoprstuw,来自先前提交的MATLAB

183185535513294435547695067785526290427932963043839368372854060721693597139131275368051870173845056551161192991350318233082749156998652_;128b:c

输出:

 !"%&')+,0123456789<=>ABCDEFGHIJKLNOPRSTWXYZ]`acefghjlnoprstux{|

好吧,我无法击败这个。
Mutador

3

八度

用途:!"#$%&'()*+,-./0123456789:;<=>?@[\]^_``abcdefghijklnsm{|}~和输出中的换行符。

不使用:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"来自Microscript中先前提交的内容

码:

[' ':'@','[':'`','{':'~',('@'+' '):('>'+'/')]

输出:

ans =
 !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~`abcdefghijklm

说明:

这是连续的ASCII字符的集合。该代码等效于:

[char(32:64) char(91:96) char(123:126) char(96:109)]

char(32:64)ASCII字符在哪里,从32到64(空格到@)。为了在输出的末尾获得字母部分,我不得不添加字符,因为我不能使用aand m@+等于96(``)>+/等于109(m)


这是如何运作的?
Conor O'Brien 2015年

@CᴏɴᴏʀO'Bʀɪᴇɴ,包括解释=)
Stewie Griffin

3

佩尔

用途: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}带空格)

不使用:"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~来自先前提交的不可读

eval q!print uc q&} abcdefghijklmnopqrstuvwxyz&!and eval q}print q&0abcdefghijklmnopqrstuvwxyz&}and eval q&print length for qw!a bc def ghij klmno pqrstu vwxyzab cdefghij klmnopqrs!&

输出:

} ABCDEFGHIJKLMNOPQRSTUVWXYZ0abcdefghijklmnopqrstuvwxyz123456789

……关于猴子编写代码的古老玩笑……

您可以在线运行该程序。

该程序滥用Perl的怪异功能,几乎以ASCII的任何子集编写代码:

  • 在某些情况下,可以在不带括号的情况下调用函数(不确定确切的规则)
  • q#text#其中#几乎可以是任何字符是相同的"text"
  • qw#word1 word2 word3# 就像上面的一样 ["word1", "word2", "word3"]
  • for 循环和其他内容可以附加到行中,从而消除了任何标点符号

3

Javascript ES6

先前的答案:https : //codegolf.stackexchange.com/a/67406/39022

源不包含!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ,空格或换行符。

alert`abcdefghijklmnopqrstuvwxyz{}\\~_^[]|\``

输出:

abcdefghijklmnopqrstuvwxyz{}\~_^[]|`

(小写字母,大括号,反斜杠,代字号,下划线,克拉,方括号,竖线和反引号)


我相信你的意思是斜线,而不是前锋斜线。但是很好的入门!
ETHproductions 2015年

@ETHproductions您对反斜杠是正确的。
SuperJedi224

2

Python 3

用途:!CGaceilmnoprstw z

print("Germanic Capitalization is awesome!")

只需打印即可Germanic Capitalization is awesome!,没有任何限制。祝好运!


2

标本II

先前的答案:在这里。程序不使用分号,空格,括号,大括号,方括号,单引号或双引号。如果不必避免引号,则此程序会短很多。

输出包括: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"和换行符。

程序:

97Kp98Kp99Kp100Kp101Kp102Kp103Kp104Kp105Kp106Kp107Kp108Kp109Kp110Kp111Kp112Kp113Kp114Kp115Kp116Kp117Kp118Kp119Kp120Kp121Kp122Kp""P65Kp66Kp67Kp68Kp69Kp70Kp71Kp72Kp73Kp74Kp75Kp76Kp77Kp78Kp79Kp80Kp81Kp82Kp83Kp84Kp85Kp86Kp87Kp88Kp89Kp90Kp123456789qh

确切的输出:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ"123456789"

1
Does not incude一点。
Conor O'Brien 2015年

2

的MATLAB

用途:!GSaefgimnoprstuw和换行符。

不使用:!CGaceilmnoprstw z来自先前提交的Python 3

[83,116,101,119,105,101,32,71,114,105,102,102,105,110,32,105,115,32,97,32,112,114,111,109,105,110,101,110,116,32,103,101,110,105,111,117,115,33,'']

印刷品:

ans =

Stewie Griffin is a prominent genious!

2

不可读

用途: "#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

不使用:()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg来自Pyth中的先前提交

'“”“”'“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“” “'”“'”“”“”“”“”“”“”“”“”“”“”“”“ “'”'“”“”“”“”“”“”“”“”“”“”“”'“”“”“”“”“”“” ”“'”“'”“”“”“”“”“”“”“”“”“”“”“'”“”“”“”“”“” “'”“'”“”“”“”“”“”“”“”“”“”“”“'”“”“”“”“”“” “'”“'”“”“”“”“”“”“”“”“”“”“”“'”“”“”“”“”“” “”“'”'“”“”“”“”“”“”“”“”“”“”“”'“”“”“”“”“”“” “'”“'”“”“”“”“”“”“”“”“”“”'“”“”“”“”“”“”“” “”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“ '”“'”“'”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“

输出:

"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|~

如果您想知道,是的,用这种语言进行手工编程很痛苦,所以我制作了这个脚本(使用JavaScript)来生成代码:

var program = `"`,
    output = "\"#$%'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`{|~";
for(var i = 1, c = 0; c < output.length; i++) {
  program = `'""` + program;
  if(i == output.charCodeAt(c)) {
    program = `'"` + program;
    c++;
  }
}
program;

我在这里使用Python解释器“不可读” 来运行代码。


在那儿有空间会使下一个生活变得艰难=)
Stewie Griffin

@StewieGriffin是的。编辑是否为时已晚?不过,我认为xD TBH可以持续更长的时间,因为有许多语言的预设变量都使用大写或小写字母,因此只有一个字符是一个有效的答案。(尽管它不会太有趣,并且使下一个答案变得非常容易!)
user81655 2015年

1
我认为现在为时已晚。可能有人在例如空白中开发解决方案,突然在输出中添加空格可能会使他们烦恼。
Stewie Griffin

@StewieGriffin是的,那也是我的理由。
user81655 2015年

1

高尔夫脚本

用途:空格,换行符,!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

不使用Perl中的先前提交0-9A-Za-z{或在其中提交空格。

代码:

'!'.!=('['.!=,>''+

输出:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

和尾随的换行符。

在这里尝试。

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.