29
\$\begingroup\$

Cops challenge

The Robbers' Challenge

  1. Find a vulnerable answer. That is, an answer which hasn't been cracked yet and which isn't safe yet either.
  2. Crack it by figuring out its language. That is, find any language in which the given program is a valid program (subject to the rules outlined in the Cops' Challenge above). It doesn't matter if this is the language the cop intended.

    Once you have found a working language, post an answer to the Robbers' thread and comment below the Cop's answer. If you don't have enough reputation to comment, say this in your answer and someone will comment for you.

The output format must be the same as the cop's intended solution in order to constitute a valid crack.

Every user only gets one guess per answer. This includes telling other people the answer, or hints towards your guesses. You must not crack your own answer (obviously...).

The user who cracked the largest number of answers wins the robbers' challenge. Ties are broken by the sum of bytes of cracked answers (more is better).

Good luck Robbers!

\$\endgroup\$
  • 23
    \$\begingroup\$ Important: Please be nice to TIO and don't just (write a script or manually) test all of the languages there. TIO is very busy already. \$\endgroup\$ – user202729 Feb 7 '18 at 11:37
  • 12
    \$\begingroup\$ I feel like the whole Cops/Robbers thing is backwards. Shouldn't the Robbers be hiding their programs and Cops be trying to bust them? \$\endgroup\$ – Jo King Feb 8 '18 at 6:29
  • 3
    \$\begingroup\$ @JoKing ... just PPCG terminology. There is no reason to be incompatible, and there is absolutely no reason to change all the past cops-and-robbers ---questions--- challenges. \$\endgroup\$ – user202729 Feb 8 '18 at 10:19

126 Answers 126

1
\$\begingroup\$

Crayon, posted by boboquack

100O)q"q"q

Try it online!

\$\endgroup\$
1
\$\begingroup\$

AsciiDots, posted by Not a tree

//$#n=100(v.|)
[+]:<>/99#*%2
#~H6+-e>*</xxxx>
(^)>*{L}<d>;

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Cardinal, posted by Jo King

{%c++}=t=+~\%c<100;
ADD.+L0|~tt\
\OR;MULTIPLY c

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Pari/GP, posted by alephalpha

print(Vecrev(((x^101-1)/(x-1))'))

Try it online!

\$\endgroup\$
1
\$\begingroup\$

aceto, posted by L3viathan

O
nX`m
pd2F
d9
II

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Zsh, posted by betseg

`#echo#`:`#a:G.Array.Integer#`
;: PVar$i: G.Integer :;
;: `#FOR#:i=0:!i>a.Length:i+=1` :;
;: :: IO.Out.PrintInt: a.$i :: :;
;: `#ENDFOR#` :;
`#endecho#`
`#main#`:`#a:G.Array.Array.Char#`
;: PVar$i: G.Integer :;
;: PVar$j: G.Integer :;
:; i=1 ;:
:; j=100 ;:
:; echo {$i..$j} ;:
`#endmain#`

Try it online!

\$\endgroup\$
  • \$\begingroup\$ I tried to make sure it won't work on Bash but {$i..$j} was too suspicious :p \$\endgroup\$ – betseg Feb 11 '18 at 21:54
  • \$\begingroup\$ @betseg tbh all I know about zsh is that it does weird stuff sometimes, and I thought this code counted as that sort of weirdness :P \$\endgroup\$ – Conor O'Brien Feb 11 '18 at 21:55
1
\$\begingroup\$

S.I.L.O.S, posted by Rohan Jhunjhunwala

a=100
lbla
i+1
printInt i
b=a-i
if b a

Try it online!

\$\endgroup\$
  • 1
    \$\begingroup\$ I'm impressed. Quickest I've ever had an answer of mine cracked! \$\endgroup\$ – Rohan Jhunjhunwala Feb 11 '18 at 22:08
1
\$\begingroup\$

TacO, posted by dylnan

$ 100
@(%
  #XX
&^0
  *i	*j
F=1

Try it online!

\$\endgroup\$
1
\$\begingroup\$

QuakeC, posted by quartata

$flags as spam
void(string s)dprint=#25;string(float f)ftos=#26;void()main={local float j;j=1;while(j<101){dprint(ftos(j));dprint(" ");j=j+1;}}; 

I swear if I found the most obscure language only for it to be a red herring, I will be pissed.

\$\endgroup\$
1
\$\begingroup\$

Eitherfuck, posted by MD XF

#+,<<+-----<-----0+++++[+++++<][+<]

Interpreter can be found here

\$\endgroup\$
1
\$\begingroup\$

Proton, posted by HyperNeutrino

HyperNeutrino posted this:

class M{fun main{args:Array<String>}{for(i=0;i<100;i++){if(i or i==0)print(i);}}}

Try it online!

Of course, he should have posted this:

class M{fun main{args:Array<String>}{for(i=1;i<=100;i++){if(i or i==0)print(i);}}}

Try it online!

\$\endgroup\$
  • \$\begingroup\$ You made the wrong modification, this prints 0 \$\endgroup\$ – H.PWiz Feb 13 '18 at 3:40
1
\$\begingroup\$

PHP, posted by chocochaos

'.
Puck, a day.
Page,.
Act I:.
Scene I:.
[Enter Puck and Page]
Puck:
You are the sum of a bold cute fair fine good rich warm joy and the sum of a bad fat bad fat bad hog and the sum of a fine warm day and joy.                                                                        '; $_ = str_split('
Page:                                                                                              '                                                                                                                );                                                                                                                                                                    array_walk/*
Open thy heart! You are the sum of thyself and a day!
Puck:                                                                                                                                                                                                               */($_,function($_/*
Are you nicer than me?                                                                                                                                                                                                                                                                                                                                                                    */, $_i/*
Page:                                                                                                                                                                                                               */) {print 1+                                                                                                                                                         $_i;/*
If so, let us proceed to Act I.
[Exeunt]                                                                                                                                                                                                            */print' ';});

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Julia 0.4, 53 bytes, posted by gggg

i=[1,2][1]
while i<=100
print(i)
print("\n")
i+=1
end

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Felix, posted by Magic Octopus Urn

for i in 1..100 do println$i;done

Try it online!

This code have been obfuscated a bit by doing println i instead of println$i, and doing perform ... instead of do ... done, but as I was using this language earlier it was fairly easy for me to recognize it.

\$\endgroup\$
1
\$\begingroup\$

><>, posted by Not a tree

def i = 1 ** (1+0): {if i == 99, $g = ?#: {$d or $n} i -> 98 + 0.0: put i++: loop}

Try it online!

I got suspicious with all the curly braces, but the 98+0. really tipped me off.

\$\endgroup\$
  • \$\begingroup\$ Well done! I thought you might be the one to crack this… \$\endgroup\$ – Not a tree Feb 14 '18 at 7:34
1
\$\begingroup\$

ExtraC, posted by Steadybox

for(int i be 1 AND not(i greater 100)AND increment i)do
print(i)
end

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Groovy, posted by Magic Octopus Urn

{(1..'d')*.toString()}

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Coconut, posted by totallyhuman

p = print; r = range; one = 1; hundred = 100; i = 'index'  # set up variables 
  
for i in r(one, hundred + one):  # loop over each number in interval [1, 101) ∩ ℤ to print	  	
	if i==hundred:

 	  p(i) 		 
 	else:p(i,end=chr(44)+chr(32))
	

Try it online!

\$\endgroup\$
1
\$\begingroup\$

PHP, posted by Agnius Vasiliauskas

for 
(
 putenv("num=".(int)(bool)NO); 
 getenv ("num") <= 100; 
 putenv("num=". (getenv("num") + 1))
)
 printf("%d|", getenv("num"));

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Fantom, posted by user902383

class A{static Void main(){(1..100).each|x|{echo(x)}}}

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Pyt, posted by tfbninja

3112211411100*11v
_*ŕ2vthesĨngulařity [[]((<>))] 
   4  /...psh...cřackle...fĨžz....pop24
is.../
    /coming to eaŕth
the ŕobots aŕe going to get you...
  /ĉ52*²
řun fas⊤

Try it online!

\$\endgroup\$
  • \$\begingroup\$ got 'em [filler words] \$\endgroup\$ – FantaC Feb 18 '18 at 4:59
0
\$\begingroup\$

Gopher, posted by Conor O'Brien

'&^<'?×++<%@-<!÷-<'&^<.!<'?^×-<%!÷--<?^×++<++<%!÷<?×<+<&?^++<%!@-<&××-<.@÷+<'&^<.@÷÷+<×<÷-<'×-<?^×+<.!<++<<<'?××-<!÷--<%!÷<?+<&?^+<#÷-<'^×++<×+<÷--<×+<.@÷÷+<÷--<--<++<××-<<-<^+<-<<÷÷+<=

Try it online ish!

\$\endgroup\$
0
\$\begingroup\$

0815, posted by Erik the Outgolfer

}:S:<:1:+$~<:64:-^:S:

There's an interpreter here.

\$\endgroup\$
0
\$\begingroup\$

Attache, posted by Riker

Define[$main,{Print[Range[1,100]]}]
main[]

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Pain-Flak, posted by Christopher

><)))))))()()((}{(}{(}{)((}{(}{(}))}{(])([({)(}{}><{

Try it online!

Note that I removed the unprintables. They are not parsed by the interpreter, so it doesn't matter anyway.

\$\endgroup\$
0
\$\begingroup\$

Mathematica, posted by tfbninja

Print["1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 "]
\$\endgroup\$
  • \$\begingroup\$ I actually meant for it to be Mathics, but that works i guess! \$\endgroup\$ – FantaC Feb 9 '18 at 20:47
  • \$\begingroup\$ Mathematica is not free, so the crack is not valid. \$\endgroup\$ – user202729 Feb 10 '18 at 1:56
  • 1
    \$\begingroup\$ The Wolfram Cloud will run Mathematica code for free. \$\endgroup\$ – Silvio Mayolo Feb 10 '18 at 5:12
  • 1
    \$\begingroup\$ So will TIO's Mathematica. \$\endgroup\$ – MD XF Feb 11 '18 at 2:47
0
\$\begingroup\$

Pushy, posted by tbfninja

Ł1ɊHǙ:Ȱ#Ĭhȅȡ;œœ

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Piet, posted by NieDzejkob

00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 000a 0000 000a 0803 0000 01cd eb0f  ................
00000020: 1900 0000 5450 4c54 451e 010e 02cd 0500  ....TPLTE.......
00000030: 212a 0134 3e65 be20 f0c7 0000 0000 0000  !*.4>e. ........
00000040: c080 0000 c000 00ff 0000 c000 c0ff 00ff  ................
00000050: 0080 0000 8080 8080 0000 c000 00c0 c0c0  ................
00000060: c000 00ff 00c0 c0ff 00ff ffff c0c0 ffff  ................
00000070: 00c0 ffc0 c0ff ffff ffff 0000 ffc0 8cf4  ................
00000080: 0b00 0000 5949 4441 5408 d735 ca41 12c2  ....YIDAT..5.A..
00000090: 300c 04c1 3d4d 1283 1209 61e4 90ff ff13  0...=M....a.....
000000a0: 4315 7be8 dac3 a877 9969 5329 63d5 ddd5  C.{....w.iS)c...
000000b0: 5eaa 4535 c22f adc9 30c5 6da1 8bb9 e327  ^.E5./..0.m....'
000000c0: 7fcb a7c6 1bdc 69a6 469c c120 51d2 67f2  ......i.F.. Q.g.
000000d0: a4be c163 de13 43bb 991d 49db f900 2114  ...c..C...I...!.
000000e0: 04cf a503 d231 0000 0000 4945 4e44 ae42  .....1....IEND.B
000000f0: 6082                                     `.

Try it online!

This is an xxd -r-reversible hexdump. Output is the numbers joined by spaces, with a leading and trailing space.

\$\endgroup\$
0
\$\begingroup\$

Fission 2, posted by dylnan

I[!$Z;R'd@
)Md`S,.=+- 

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Windows Batch file, posted by Stephen Quan

set S=1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100
echo %S:;= & echo %
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.