神秘字符串打印机(警察)


60

可以在这里找到强盗线程:神秘字符串打印机(强盗)

你的挑战

  • 编写将字符串输出到STDOUT的程序,函数或REPL脚本。
  • 强盗将尝试创建一个打印相同字符串的程序。
  • 如果他们可以在7天内成功创建程序,则您的提交将被破解。
  • 如果没有人可以创建一个程序在7天内打印出相同的字符串,则您提交的文件很安全。您可以选择展示您的程序,也可以选择挑战未来的强盗。但是,如果您不公开它,您将无法从提交中获得任何要点(如果选择这样做,请不要在答案标题中添加“安全”字样)。

限制条件

  • 该程序必须小于或等于128个字节(稍后将对此进行更多说明)。
  • 如果程序取决于程序名称或外部文件的名称/内容,则必须说是这样做,并将其包括在总字节数中。
  • 打印的字符串必须小于或等于2048个字节。
  • 打印的字符串必须仅包含可打印的ASCII字符(可以包含新行)。
  • 程序每次运行都必须产生相同的输出。
  • 不允许使用内置的加密原语(包括任何rng,加密,解密和哈希)。
  • 该程序不得输入。
  • 没有标准漏洞。

计分

  • 如果提交在7天之前被破解,则该提交将获得0分。
  • ≤128个字符的安全提交将获得1分。
  • ≤64个字符的安全提交将获得2分。如果小于或等于32个字节,则获得4分,依此类推。
  • 每个安全提交还可以获得额外的3点奖励(与长度无关)。
  • 第一次破解后,每次破解都会被罚款(1/2分)。
  • 请注意,强盗的解决方案必须在相同的程序长度范围内。
  • 每个人在每种语言的每个字节范围内最多可以提交1个程序(不同版本和同一语言的任意替代不算作单独的语言)。示例:您可以发布32字节和64字节的pyth程序,但是不能发布Java 7和Java 8中的128字节的程序。
  • 总积分最高的人获胜。

意见书

每个提交都必须具有以下信息:

  • 语言名称。所有强盗的解决方案必须使用相同的语言。
  • 程序大小的范围(这是比程序大小大2的最接近的幂;例如,如果您的程序为25字节,则为“≤32”)。
  • 要打印的实际字符串。
  • 如果提交是安全的,请在标题中输入“ safe”和程序长度(最接近2的幂)。如果标题中有多个数字,则将2的幂放在最后。

该堆栈摘录生成排行榜并列出所有打开的提交。如果代码段有任何问题,请发表评论。

使用以下格式输入:

Language, (any text with the program size as the last number)
=

要么

Language
=
Length <= 16

请注意,如果代码段未检测到逗号,则只会将第一个单词作为语言放在标题中。

为了安全提交,请在标题中添加安全内容。如果时间到了,此摘录将自动将您的程序放在“安全”列中,因此,这更多的是告诉所有强盗您的程序是安全的。

对于破解的提交,请在您的标题中添加破解的内容。

该程序还应该能够识别注释是否“破裂”并具有链接。但是,不能保证。

抢断顺序:点->安全提交数->最少的破解提交数。

请注意,该代码段按未破解前的公开提交进行排序,但比赛结束时不会对公开提交进行计数。

这项挑战现已结束。

整体得分最高的赢家:丹尼斯

最安全的提交:DLosc

(请注意,安全提交的数量不会转换为分数,因为在计算分数时会考虑程序的大小)。


5
我们应该提醒警察,输出最好长于程序大小,以减少琐碎的解决方案,例如codegolf.stackexchange.com/a/60395codegolf.stackexchange.com/a/60359
kennytm 2015年

2
@bmarks必须存在一种执行该语言的方法,并且该语言必须能够显示ASCII字符字符串。祝贺您,如果您想使用HQ9 +,您将获得一份破解的论文。
Daniel M.

3
@bmarks我宁愿没有,但我不会阻止你。
Daniel M.

15
所有仅数字输出都是超级无聊的。
mbomb007'2015-10-13

4
请考虑下次使用沙盒。优选地,挑战规则不应该改变,在所有已公布之后。我忘记了这里的规则已更改了多少次……
丹尼斯

Answers:


20

Pyth,安全,范围≤8

['ashva', 'cxedo', 'ecckc', 'hhzsq', 'jmwze', 'lrths', 'nwrog', 'pbowu', 'rgldi', 'uljlw', 'wpgsk', 'yuday'

编码:

%^T6`^G5

说明:

为了阐明其工作原理:我生成了所有可能的5个小写字母(^G5)的字符串。然后,我生成了该列表的字符串表示形式:(`^G5)。最后,我在列表(%^T6)中的第1,000,000个字符。结果是看起来像一串字符串的东西,但是可疑地缺少了它的尾括号。


有没有关闭]
Maltysen

1
@Maltysen Nope。
2015年

4
看到第二个项目是“ xCode”混乱的,认为它可能是IDE混乱的列表,但我无法识别其他任何一个:o
Albert Renshaw 2015年

1
坚强的一个!我在字符串中找到了模式,但不知道如何在<= 8个字节中生成它。
Fabian Schmengler,2015年

16

VBA,[安全]

范围<= 128字节

提示在哪里输出

在Excel 2007中运行,输出到Debug.print。它的VBA运气好,可以运行128字节以下的内容。

输出255字节

 This array is fixed or temporarily locked THIS ARRAY IS FIXED OR TEMPORARILY LOCKED this array is fixed or temporarily locked This Array Is Fixed Or Temporarily Locked I n v a l i d   p r o c e d u r e   c a l l   o r   a r g u m e n t  ?????????????????

好吧,我希望有人能破解这个乐趣。我可以说这是我做过的最糟糕的错误处理,并且对这段代码的糟糕程度感到难过。

    Sub e()
    On Error Resume Next
    Err.Raise 10
    For i = 0 To 128
    b = b & " " & StrConv(Err.Description, i)
    Next
    Debug.Print b
    End Sub'

讲解

首先,代码从VBA的主要缺点之一开始。On Error Resume next
一旦我们犯下了那可怕的举动,我们就会继续前进,并抛出错误。这是This array is fixed or temporarily locked我们很快将在输出中看到的错误。

接下来是循环。我们循环了128次,试图转换错误描述,但是的唯一有效输入i are 1,2,3,64,128。因此,前4个循环以各种格式显示错误。然后,当i = 4代码引发新的错误时Invalid call,该循环就会循环,并且不会分配任何内容,b因为strconv函数每次都会出错。

这是所有正常程序都应该停止的位置,但是由于我们On Error Resume Next忽略了每个错误,并且错误的错误处理仍使代码继续保持不变,

现在我们点击i=32然后将新错误添加b到Unicode中,然后继续循环,直到i = 128从Unicode处将错误转换为Unicode为止, 最后将?????????????????字符串添加到Unicode中。b

最后打印出我们串联在一起的错误信息


14

Mathematica,安全,范围≤64

输出:

CGTAGGCCCATTTTGTGTGAATTGCGGTGCAGCGAGCGATATGTTGTCTGGGCACGGACGCAGAGTTAGGGTAGCTGGTG

资源:

Print@@Characters["GATC"][[1+First@RealDigits[Pi,4,80]]]

6
现在我将拥有GenomeLookup一切...
LegionMammal978

3
真!是什么给了它?

2
也许我应该换个字母!

1
大声笑,有那么多重复字符和64个字节可以使用,您可以轻松地使函数轻松地打印该字符串。xD
Albert Renshaw 2015年

4
我添加了源。这当然不是任何有关的基因组,但在基地4,而80位圆周率,使用“GATC”让人联想到双螺旋的编码。

12

ngn APL(安全)

0.675640430319848J0.8376870144941628

范围≤8

*3○⍟⍣=42

在线尝试。

这个怎么运作

  • ⍟⍣=42将自然对数()反复应用于42直到达到固定点(⍣=),得出0.31813150520476413J1.3372357014306895

    初始值在这里并不重要,只要它既不是1也不是0

  • 3○将切线应用于其正确的参数,得出0.07343765001657206J0.8920713530605129

  • * 将自然指数函数应用于其正确的参数,从而产生所需的输出。


绝对值不是1。有趣。
lirtosiast 2015年


8

> <>(安全)

经过在线和官方口译员测试。

范围:<= 16

串: 4621430504113348052246441337820019217490490

这是漂亮的1337,是吗?

说明:

这是源代码(15个字节):

f1-:0(?;::0g*n!

f将15(我们的计数器)压入堆栈(最后被跳过),!以便不压入一个以上的计数器

1- 从计数器中减去1

:0(?; 皱着眉头的人会测试计数器是否小于0,如果计数器小于0,则其余程序结束程序

:: 重复两次计数器

0g(c,0)在源代码中c计数器所在的位置抓取字符

* 将计数器的第二个副本乘以先前抓取的字符的ASCII表示

n 打印结果。

因此,拆分后,输出为[462, 1430, 504, 1133, 480, 522, 464, 413, 378, 200, 192, 174, 90, 49, 0]。这对应于代码的ASCII反演乘以数字14到0(即[!*14, n*13, ... f*0])。

破解这个难题最困难的部分可能是弄清楚如何正确分割数字,但是如果您找到合适的数字,那只是在尝试一些事情直到获得有用的东西。


8

雪人1.0.2

范围≤32。

110110111011011001111100111111111101111110101000101000100001100001100011100011101110110111011011111011111011101011101111101111110111110111111011110101111010111100101100101001111001111111011111011010111010111000000100000011111001111100

解决方案是:

"mO~(!#]/.}{k2'=+@|":2nBspsP;aE

这是一种很奇怪的语言……在尝试破解之前需要弄清楚它……
GamrCorps 2015年

3
快到了……尽管继续保持段错误11
GamrCorps,2015年

7

Matlab,≤16。被Wauzl破解

范围≤16

这也适用于八度

打印的字符串如下:

ans =

     0     0     0     0     0     0     0     0     0
     0     0     0     0     9     4     0     0     0
     0     0     0     0    32    18     0     0     0
     0     0     0     9     1     0     3     0     0
     0     0     7     0     0     2    10     0     0
     0     0     3     0     2     2     3     0     0
     0     0     0    19    63    22     1     0     0
     0     0     0     4    13     4     0     0     0
     0     0     0     0     0     0     0     0     0

3
干得好,我试图提出类似的建议,但是这一建议非常好,我真的不知道应该如何工作=)
更加糟糕的


7

Perl(安全)

84884488488444224424428844884884884488488444224424428844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442442244244244224424422211221221221122122144224424424422442442221122122144224424424422442442221122122144224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212212212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422441221221122244244224424424422441221221122244244224424424422441221221122122122112224424422442442442244244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448824424422444884884488488488448824424422444884884488488488448824424422442442442244488488448848848844882442442244488488448848848844882442442244488488448

范围≤32

print 2**y/124589//for-951..1048

在线尝试。

这个怎么运作

  • for-951..1048 为该范围内的每个整数执行前面的命令,并将其保存在隐式变量中。

  • y/124589// 执行音译,从隐式变量中删除指定的数字。

    y/// 将返回消除数,即这些数字在隐式变量中的出现次数。

  • print 2**印刷品2至抵销的功率(1248)。


7

Python,<= 16(由kennytm破解

[[[22111101102001]]]

这是通过REPL(在Python Shell中运行命令)产生的。

在编辑此代码时,我还将总结一些注释,以供将来免遭破坏的强盗使用:这不适用于所有Python。它确实在Python 2.7的构建中起作用,其中sys.maxint = 9223372036854775807


2
这很难。
J Atkin

1
它可以在Python 2和Python 3中使用吗?
DLosc

1
EEP。仅限Python 2,抱歉。
历史学家

1
明确表示在Python 3中不起作用?
DLosc

1
这只是一个提示,但是,是的,我保证它在Python 3中不起作用
。– histocrat


6

TI-BASIC,≤4字节,由Reto Koradi破解

这花了5天23个小时才破解。很近...

输出(10个字节):

.495382547

程序:

³√(tanh(7°

由于基本上不可能有人猜到这个,因此我设计该程序的目的是使暴力成为唯一可能的方法。

为此,我阻止了输出或应用了这些逆函数之一的输出出现在ISC上。ISC没有双曲正切,我发现没有类似的工具tanh(7°

为了增加抵御暴力的安全性,我使用了度到弧度的转换功能,这个功能有些晦涩难懂,但这还不够。


10
@Conor O'Brien您只需要10个字节即可写出小数位!
Arcturus

1
是所有TI-84 + BASIC命令的列表,以及完整的文档。
lirtosiast

2
显然,Thomas(我想大多数人都认为)sin(在TI-BASIC上被认为是1字节。所以类似的sin(sin(sin(e只有4个字节。
艾伯特·伦肖2015年

1
实际上,据我们所知,他可能正在使用fPart(
LegionMammal978

1
@AlbertRenshaw是的,我已经接过了。Thomas链接的文档为每个操作员列出了“令牌大小”。我认为这就是我们要计算的,并且他使用的运算符很可能来自以下列表:tibasicdev.wikidot.com/one-byte-tokens
Reto Koradi

6

CJam,≤8 [安全]

379005901358552706072646818049622056

我不喜欢长号,所以这是一个短号。随意在离线和在线环境中摆弄。

由于我发现仅提交数字的内容很无聊,因此我将慢慢提出一些提示以进行补偿。

提示1:程序以堆栈的单个编号结束,并且不A-K使用任何变量。
提示2:如果您撤消该过程,该数字将编码可完全检索的信息(即,没有丢失任何信息)。
提示3:提示2中的“信息”是在前四个字符之后创建的单个字符串。


该程序是

0W#sWcib

0W#0^-1,而不是错误地给出Infinitys然后施放此为一个字符串(注意,`1d0/代替)。

对于另一半,Wc将-1转换为char,由于char的环绕,它变为代码点65535(请参阅本技巧)。i然后将char转换回int,即65535。

最后,b将字符串转换为Infinity以65535为基数的数字。


6

Javascript(控制台),<= 32(在此处由insertusername破解

"a,a,0,a,b,a,a,b,a,a,4,a,b,a,a,a,a,6,a,b,a,a"

在Chrome和Firefox网络控制台中进行了测试。这是一个43个字符串。

我想要的解决方案比链接的解决方案复杂得多(请诅咒ES6!)。

'a,b,a,a'.replace(/(a)/ g,Array)

说明:

当您replace使用带有/g标志和函数的正则表达式进行调用时,它将使用以下参数调用该函数的结果替换所有与正则表达式匹配的内容:匹配的字符串,匹配的字符串中的每个捕获组,匹配的字符串在其中的索引整个字符串,以及整个字符串。在这种情况下,它将是“ a”,“ a”,0或4或6,以及“ a,b,a,a”。所有这些参数都传递到Array构造函数中,该构造函数仅创建一个传入所有内容的数组。然后replace将其转换为字符串,例如“ a,a,0,a,b,a,a”并替换为“ a”性格。


减少到37个字节。它看起来像十六进制,希望对您有所帮助。
mbomb007


1
我不能再次投票,但这是一个非常不错的程序。
此处插入用户名,2015年

5

Python,<= 32(由Egor Skriptunoff 破解

输出为1832字节,包括换行符:

163
485
559
1649
2707
8117
8415
24929
41891
124133
142639
423793
694675
2075317
2162655
6357089
10682531
31785445
36635183
108070513
177408659
531963829
551493855
1633771873
2745410467
8135173349
9347869999
27774121841
45526653331
136007297717
141733920735
416611827809
700079669411
2083059139045
2400886719023
7082401072753
11626476472979
34862249549749
36142149804255
107069239746913
179920475038627
533147175478501
612629840276783
1820177075697521
2983606407043475
8913418645908149
9288532499693535
27303489359118433
45881121294188707
136517446795592165
157346912904610351
464159319105013361
761964388609624723
2284767248741900213
2368648071721459935
7016996765293437281
11791448172606497699
34940303480791033061
40148795925132553519
119288945009988433777
195535487181321247123
584146895667469134517
608742554432415203295
1789334175149826506849
3006819284014656913571
8946670875749132534245
10311729937203639353903
30418680977547050616433
49935336207531756227219
149732221646300430475189
155229351380265876857055
459858883013505412260193
772752555991766826787747
2289849682101787770873061
2631225127929856733097263
7817601011229592008423281
12814491939404182769539475
38282841570818685533137589
39893943304728330352263135
117267593836794179779362913
197057915416468570144702627
586337969183970898896814565
675799844894514912336740911
1993549095225501056249169521
3272612129033008707863251603
9813000610033591312052461493
10173266001408484771580813535
30137771616056104203296268641
50643884262032422527188575139
150067460764265635881358255333
172437765505860562200296238383
512342117472953771456036566897
839818522529453467650609486227
2508891813142320379359897758389
2614529362361980586296269078495
7685131765672974922140201517153
12914190492831906312462400487587
38425658828364874610701007585765
44288542855785494654395594310191

我看到4s模式。
J Atkin


@EgorSkriptunoff是的-我使用了不同的循环结构,但逻辑相同。
DLosc 2015年

@DLosc-可以通过另一个循环使其更短吗?
Egor Skriptunoff 2015年

@EgorSkriptunoff我使用了Python高尔夫技术-我不会发布代码,因为我可能会在另一个答案中做类似的事情,但是您可以在Python技巧页面上找到这个概念。
DLosc

5

CJam(被Dennis 破解

长度<= 4

1737589973457545958193355601

我没有给这个机会很大的生存空间,但是我还是想尝试一个4字节的解决方案。

我的代码正是Dennis反向工程的:

H     Push 17
J     Push 19.
K     Push 20.
#     Power.

然后,CJam打印所有已连接的堆栈内容。因此,输出17与连接在一起19^20



@Dennis Ok,正式标记为已破解。我确实没想到它会持续下去,但无论如何我还是很感兴趣:您是否强行使用它?还是您对我可能所做的事情有一个很好的猜测?
Reto Koradi

1
输出太大,除阶乘或幂之外,什么都没有,那么大的阶乘将有几个尾随零。我开始KK#尝试了更多的功能,最后发现了JK#
丹尼斯

5

Lua中,≤4(裂化由feersum)

输出:

9.5367431640625e-07

您需要找到Lua REPL的字符串,该字符串会产生“ 1 / M”常量。
这很简单,但不是很琐碎。


@ LegionMammal978-提示:在Lua 5.3 REPL中,可以=在表达式之前省略。
Egor Skriptunoff 2015年

我什么知道,但是,是没有答案在这里 ...
LegionMammal978

@ LegionMammal978-是的,您提供的链接是正确的阅读位置。您已经拥有了所需的所有信息。只是解决它。
Egor Skriptunoff 2015年


有趣的非解决方案:0x2p-21
daurnimator,2015年

5

,<= 16(安全)

我保证,这是我最后提交的Pip。:)

0123456789
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0123456789

如果有人将其减少到16个字节,我会感到惊讶-我花了很多时间才使它适合。(如果愿意,可以挑战一下!)


回答:

Px:J,tLtP09JsX8x

此代码使用预定义的变量t= 10和s=空间。

    ,t            Range(10)
   J              Join into string: "0123456789"
Px:               Assign to x and print
      Lt          Loop 10 times:
         09         This is a numeric literal, but it can act like a string "09" because
                    strings and numbers are the same data type in Pip
            sX8     8 spaces
           J        Join left arg on right arg: "0        9"
        P           Print
               x  Last expression in a program is autoprinted: "0123456789"

这很酷。
J Atkin

嗯...每个数字都是列号,索引为0。:-/
ev3commander

@JAtkin我也这么认为。^ _ ^添加了说明。
DLosc

非常好,+ 1;)
J Atkin

4

Ruby,由kennytm破解

范围:≤64。

#<MatchData "@@" 1:"@" 2:"@">
"#<ArgumentError: unknown command \"\\x00\">\nu#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nk#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nw#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\nc#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\na#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nd#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n\\#<ArgumentError: unknown command \"\\x00\">\nx#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n"

(是的,所有输出到STDOUT。)

预期解决方案:

test'@@'=~/(.)(.)/ rescue p"#{$!}#{p$~}".gsub(//,$!.inspect+$/)


@kennytm哇,我印象深刻。您甚至设法使其比我的原始代码短一个字符!
门把手

4

TI-BASIC(由Thomas Kwa 破解

TI-89型号
范围:≤8
输出长度:460

1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000

我认为您不能在此上使用RIES,但我怀疑它能否在7天内存活。那好吧。

码:

236!


什么是“ REIS”?
mbomb007




4

Thue -<= 64字节,由histocrat破解。

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

那是2016年5月;顺便说说。



4

CJam,≤8(安全)

\"3.341594\43181\

原始代码:

P`_`_`er

也就是说,以中的3.141592653589793每个字符开头并替换"3.141592653589793"为中的相应字符"\"3.141592653589793\""。删除重复项后,实际上将替换".123456789""35\.49831


4

Python 2(安全16)

(1.06779146638-0.024105112278j)

范围≤16。如果版本很重要(打印精度?),我使用ideone

在没有计算机搜索的情况下,我看不到猜测代码的方法,但是你们之前都给我留下了深刻的印象。


回答:

print.7j**8j**2j

1
这是REPL还是完整程序?
lirtosiast 2015年

@ThomasKwa完整程序。
xnor

用于dir(complex)查看为复数定义了哪些操作。我不知道您可以使用模数。请注意,这可能不会有所帮助,但也许……
mbomb007

3

JavaScript ES6,≤128字节- 破解

输出(1124字节):

00371223425266831021221451701972262572903253624014424855305776266777307858429019621025109011571226129713701445152216011682176518501937202621172210230524022501260227052810291730263137325033653482360137223845397040974226435744904625476249015042518553305477562657775930608562426401656267256890705772267397757077457922810182828465865088379026921794109605980210001102021040510610108171102611237114501166511882121011232212545127701299713226134571369013925141621440114642148851513015377156261587716130163851664216901171621742517690179571822618497187701904519322196011988220165204502073721026213172161021905222022250122802231052341023717240262433724650249652528225601259222624526570268972722627557278902822528562289012924229585299303027730626309773133031685320423240132762331253349033857342263459734970353453572236101364823686537250376373802638417388103920539602400014040240805412104161742026424374285043265436824410144522449454537045797462264665747090475254796248401488424928549730501775062651077515305198552442529015336253825542905475755226556975617056645571225760158082585655905059537600266051761010615056200262501630026350564010

玩得开心,祝你好运!

原始代码:

new Array(254) .fill(0).map((x,s)=>s*s-s/((5-s)||3)).map(Math.floor).join``

Still safe :3
Conor O'Brien 2015年

1
我很喜欢 破解
SLuck49

@ SLuck49我发布了代码。
Conor O'Brien

3

TI-BASIC(由Thomas Kwa破解)

范围:<= 2

串: -10

码: Xmin

只是没有愚弄这个家伙...


您还没有破解吗?
意大利面条

1
如果您这样做是非常聪明的imo,我将感到非常难过。
意大利面条

在Python中,这是~9(位反转)
user193661

可以,但是您必须在TI-BASIC中回答。无论如何,这并不重要。托马斯已经破解了。我想他只是在等待变得更好(?)。
意大利面条


3

AppleScript,≤2字节破解

“强行强行…… 发牢骚,发牢骚 ……”

这是什么?一个简短的AppleScript答案?:o

缺失值

(是的,这确实打印到标准输出)


a=a- 1=1-或?我不知道=)
瑕疵的

不。这些错误将以错误#-2741的形式发送到STDERR。
艾迪生·克伦普


1
@squeamishossifrage您可以使用来将其缩短一个字节say"Cracked.",如果您不介意语法,可以使用来将其再缩短一个字节say"Cracked"。c:
Addison Crump 2015年


3

GolfScript(安全)

44460233687688399109436699097976761322375660878906252846699686946304

范围≤8

{9?7*}.%

在线尝试。

这个怎么运作

  • {9?7*} 将该块压入堆栈。

  • .% 复制该块并将其映射到自身。

    GolfScript执行类型转换,就像没有明天一样。在这种情况下,解释器期望可迭代,因此原始块将转换为数组,从而产生以下字符代码数组:[57 63 55 42]

  • 块本身将每个字符代码提升到九次幂(9?),然后将结果乘以七(7*)。

    对于数组中的四个字符代码,这将

    44460233687688399
    109436699097976761
    32237566087890625
    2846699686946304
    

    退出之前,解释程序将打印四个整数,不带分隔符。

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.