148
\$\begingroup\$

Note: This challenge is now closed to new cop submissions. This is to ensure that no one can post submissions that only remain uncracked because there aren't enough robbers interested in the challenge anymore.

In this game of cops-and-robbers, each cop will write a simple program to give a single output. They will then make public four things about their program:

  1. The language
  2. The program length
  3. The desired output
  4. A scrambled-up version of the source code

Then, the robbers must unscramble the source code so that their program functions like the original.


Cop Rules

You are to write a simple program, which the robbers will try to recreate.

Your original program must have a simple functionality: upon execution, it outputs a single string/number and halts. It should give the same output regardless of when/where it is run, and should not depend on extra libraries or the internet.

Your program and output must use printable ASCII (newlines and spaces allowed). The output should be no more than 100 characters long, and the program should take less than about 5 seconds to run on a reasonable machine. You are also not allowed to use hashing (or other cryptographic functions) in your program

Then, you provide a scrambled-up version of the source code and the required output. You can scramble up your source code however you may like, as long as characters are conserved.

Your score is the shortest program you have submitted which hasn't been cracked. After a period of one week, an uncracked submission will become immune. In order to claim this immunity, you should edit your answer to show the correct answer. (Clarification: Until you reveal the answer, you are not immune and can still be cracked.) The lowest score wins.

Simple Example Cop Answers

Perl, 20

ellir"lnto Wo d";prH

Hello World

Or...

Perl, 15

*3i)xp3rn3*x3t(

272727

Robber Rules

Robbers will post their cracking attempts as answers in a separate thread, located here.

You have one attempt at cracking each submission. Your cracking attempt will be an unscrambled version of the source code. If your guess matches the description (same characters, output, and of course language), and you are the first correct guess, then you win a point. It is important to note that your program does not have to exactly match the original, simply use the same characters and have the same functionality. This means there could be more than one correct answer.

The robber with the most points (successful cracks) wins.

Simple Example Robber Answers

Your program was print "Hello World";. (Although print"Hello World" ; could have also worked.)

Your program was print(3**3x3)x3

Safe Submissions

  1. ASP/ASP.Net, 14 (Jamie Barker)
  2. Befunge-98, 15 (FireFly)
  3. GolfScript, 16 (Peter Taylor)
  4. CJam, 19 (DLosc)
  5. GolfScript, 20 (user23013)
  6. Perl, 21 (primo)
  7. Python, 23 (mbomb007)
  8. Ruby, 27 (histocrat)
  9. SAS, 28 (ConMan)
  10. Ruby, 29 (histocrat)
  11. Python, 30 (mbomb007)
  12. JavaScript, 31 (hsl)
  13. Ruby, 33 (histocrat)
  14. Marbelous, 37 (es1024)
  15. Ruby, 43 (histocrat)
  16. PHP, 44 (kenorb)
  17. Ruby, 45 (histocrat)
  18. Marbelous, 45 (es1024)
  19. Python 2, 45 (Emil)
  20. PHP, 46 (Ismael Miguel)
  21. Haskell, 48 (nooodl)
  22. Python, 51 (DLosc)
  23. Python, 60 (Sp3000)
  24. Python 2, 62 (muddyfish)
  25. JavaScript, 68 (Jamie Barker)
  26. Mathematica, 73 (Arcinde)
  27. Haskell, 77 (proudhaskeller)
  28. Python, 90 (DLosc)
  29. C++, 104 (user23013)
  30. ECMAScript 6, 116 (Mateon1)
  31. C++11, 121 (es1024)
  32. Grass, 134 (user23013)
  33. PowerShell, 182 (christopherw)

Unsolved Submissions

In order of time of posting. This list courtesy of many users.

A small tool to verify solutions, courtesy of n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

$(function(){function e(){var e=$("#ignore-space").is(":checked");var t=$("#source").val().split("").sort();var n=$("#editor").val().split("").sort();var r,i=0;for(r=0;r<t.length;){if(t[r]==n[i]){t.splice(r,1);n.splice(i,1)}else if(t[r]>n[i]){i++}else{r++}}$("#display").val(t.join(""));n=n.join("");if(e){n=n.replace(/[\r\n\t ]/g,"")}if(n.length!=0){$("#status").addClass("bad").removeClass("good").text("Exceeded quota: "+n)}else{$("#status").addClass("good").removeClass("bad").text("OK")}}$("#source, #editor").on("keyup",function(){e()});$("#ignore-space").on("click",function(){e()});e()})
textarea{width:100%;border:thin solid emboss}#status{width:auto;border:thin solid;padding:.5em;margin:.5em 0}.bad{background-color:#FFF0F0;color:#E00}.good{background-color:#F0FFF0;color:#2C2}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h3>Scrambled Source</h3>
<textarea id="source" class="content" rows="10"></textarea>
<h3>Unused Characters</h3>
<textarea id="display" class="content" rows="10" readonly></textarea>
<h3>Your Solution</h3>
<input type="checkbox" id="ignore-space" name="ignore-space"/>
<label for="ignore-space">Ignore space characters</label>
<div id="status" class="good">OK</div>
<textarea id="editor" class="content" rows="10"></textarea>

\$\endgroup\$
32
  • 4
    \$\begingroup\$ @xnor Yes, that's what it means. \$\endgroup\$
    – PhiNotPi
    Commented Nov 4, 2014 at 20:00
  • 3
    \$\begingroup\$ You might want to forbid hashing... codegolf.stackexchange.com/questions/40304/… \$\endgroup\$ Commented Nov 4, 2014 at 20:00
  • 7
    \$\begingroup\$ You should probably specify that the winner must post the original source code after one week. What prevents me from posting gibberish and claiming that none of the robbers got the right answer? \$\endgroup\$ Commented Nov 4, 2014 at 21:54
  • 66
    \$\begingroup\$ I thought "Oh, il just write a malbolge program, scramble it, and win this thing!". But then, i tried to write a malbolge program. \$\endgroup\$
    – vero
    Commented Nov 5, 2014 at 4:56
  • 9
    \$\begingroup\$ Warning: Cops, do not use Ideone to test your submissions, as it stores your programs and other people can see them. \$\endgroup\$
    – vero
    Commented Nov 6, 2014 at 4:48

245 Answers 245

1 2
3
4 5
9
3
\$\begingroup\$

Python 3 - size 34 [cracked by FireFly]

Scrambled:

print(....__str__)
[[(4,)=={-6}]];

Output:

.

The scrambled code runs fine, but it's not what you want ;).


Intended solution

Awkwardly, my red herrings backfired on me, and I only realised a few minutes after posting.
The intended solution was:

_={};_[6.,...]=_ print(str(_)[-4])

If we print out _, we get:

{(6.0, Ellipsis): {...}}

If you add a list or a dictionary to itself in Python, the string representation replaces that part of it with ...! Yes, that means you can do things like:

a=[] a.append(a) print(a[0][0][0][0][0][0][0][0])
:)

\$\endgroup\$
2
  • \$\begingroup\$ Cracked. :) \$\endgroup\$
    – FireFly
    Commented Nov 11, 2014 at 3:25
  • \$\begingroup\$ Ah... I should've thought of that too.. since I've seen similar things (recursion detection) in other pretty-printers. Didn't occur to me that it'd be represented with an ellipsis. Nice one, too bad about the not-so-red herring. \$\endgroup\$
    – FireFly
    Commented Nov 11, 2014 at 3:37
3
\$\begingroup\$

Java, size 134 (Cracked)

Code:

"''"{}{}[]()()()()()() <<<<<<< +++-===^ ..;;;; 11113444578999 aaaaabcccccdefgghhhiiiiiiiillmmnnnnnnnnnooopprrrrrrrssssSSStttttttttuuvy

Output:

^74
^376
^2280
^17512
^139368
^1114216
^8913000
\$\endgroup\$
5
  • \$\begingroup\$ What's the whitespace in the output? A trailing \n / (char)10 on each line? \$\endgroup\$ Commented Nov 11, 2014 at 15:57
  • \$\begingroup\$ @PeterTaylor a trailing newline, yes \$\endgroup\$ Commented Nov 11, 2014 at 16:08
  • \$\begingroup\$ There are only 134 characters in the list. Is there some missing whitespace? \$\endgroup\$
    – feersum
    Commented Nov 11, 2014 at 21:53
  • \$\begingroup\$ @feersum Oops, my texteditor gave me a wrong number :/ fixed \$\endgroup\$ Commented Nov 11, 2014 at 21:56
  • \$\begingroup\$ Cracked \$\endgroup\$
    – feersum
    Commented Nov 11, 2014 at 23:15
3
\$\begingroup\$

Ruby, size 17

Code

$$$$--::<<>>??Wip

Output

1
\$\endgroup\$
1
  • \$\begingroup\$ Cracked. I'm really interested in the original code though. ^^ \$\endgroup\$ Commented Nov 13, 2014 at 9:25
3
\$\begingroup\$

CJam, size 51

Thought I'd give this a shot!

Code

""%)))))****+++,/::@ABBBBJJSSUWYYYZZ[]____accdeimos

Output

Bond, James Bond.
\$\endgroup\$
1
  • \$\begingroup\$ Cracked. \$\endgroup\$
    – jimmy23013
    Commented Nov 13, 2014 at 19:03
3
\$\begingroup\$

Ruby, 45

Code

%()[]./ 0123456789_abcdefghijklmnopqrstuvwxyz

Output

9410663329978946297999932

Original Code

p %q[zyfnhvjkwudebgmacsxrl].to_i(36)/51074892

See charredUtensil's hack attempt in the comments for a great explanation. And yes, I generated the code randomly. I hoped the "pangram" approach would paralyze people with the number of options.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Cracked by charredUtensil. \$\endgroup\$
    – FireFly
    Commented Nov 14, 2014 at 20:44
  • \$\begingroup\$ Almost cracked, but not quite. And time's almost up. \$\endgroup\$
    – histocrat
    Commented Nov 14, 2014 at 21:24
3
\$\begingroup\$

Python shell: 15 chars

I had this strange urge not to include any 0's, 3's, or 7's.

11124455566899^

Output (to shell):

339018
\$\endgroup\$
1
  • \$\begingroup\$ Cracked. \$\endgroup\$
    – es1024
    Commented Nov 15, 2014 at 7:02
3
\$\begingroup\$

PHP, 44 [SAFE]

Code:

""(())46;=BFGHNOWWZ_aaabbcddeeeejjloopssvwyy

Works on PHP 5.3-5.6. A bit long, but I hope it's difficult.

Output

4096

Original code

eval(base64_decode("ZWNobyBwaGFyOjpHWjs=")); which is the same as: eval(base64_decode(base64_encode("echo phar::GZ;")));

Explanation

The code will print predefined constant GZ of Phar class which is just compression constant (0x00001000 = 4096). Then the code is encoded with MIME base64 text format and eval'ed (executed). Note that base64 is data encoding format (not hashing or cryptographic function).

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I wrote a script to test every program beginning with ZWNoby. But I excluded programs containing :: because :: at the wrong place would generate a fatal error, and I didn't think there is a :: in the answer... \$\endgroup\$
    – jimmy23013
    Commented Nov 17, 2014 at 4:15
3
\$\begingroup\$

Python, size 60 [safe]

Scrambled:

\n    ((((()))))***,-0123:=____aaaabdegiilmmmnnoopprrrrsttttu

Output:

1177652997443428940314

This probably still falls on the moderately-okay-to-crack side, but I thought the idea might be interesting. \n is a newline.


Solution

The number, searchable on OEIS, is the sum of the first 23 factorials. To implement a factorial function without any ifs for the base case we use Python's short circuit evaluation and the quirk that 0**0 evaluates to 1.
t=lambda _:0**_ or _*t(_-1)or i print(sum(map(t,range(23))))

\$\endgroup\$
2
  • \$\begingroup\$ Does this work in both versions of Python, or just in Py2? \$\endgroup\$
    – DLosc
    Commented Nov 9, 2014 at 10:16
  • 1
    \$\begingroup\$ @DLosc Should work on both versions. I tested on 2.7.8 and 3.3.2 \$\endgroup\$
    – Sp3000
    Commented Nov 9, 2014 at 10:17
3
\$\begingroup\$

Ruby, 33 [safe]

Code:

&(())*09:==_yogurt puns...perturb

Output:

[0, [0]]
[1, [1]]
[2, [2]]
[3, [3]]
[4, [4]]
[5, [5]]
[6, [6]]
[7, [7]]
[8, [8]]
[9, [9]]

Source:

e=r=p *(0..9).group_by(&:untrust)

Explanation:

e=r= is red herring filler (chosen to create the anagram "puts group_by return"). (0..9).group_by takes a block, passes each number from 0 to 9 into it, and creates a hash mapping distinct outputs of the block to the input. But instead of a literal block, I'm using the & syntax, which calls to_proc on the :untrust symbol to create a proc that "taints" each thing passed into it (which does nothing in this context), and returns the input. So each item in the range gets its own bucket. p * then converts the hash to an array of arguments of the form [key, value_array], and prints each on its own line.

\$\endgroup\$
3
\$\begingroup\$

SAS, 17 (Cracked)

%%()1;>>aabelptuv

Outputs 0

\$\endgroup\$
4
  • \$\begingroup\$ Is this actually a full program? From what I read here it looks like any full SAS program needs at least two semicolons, as well as some sort of RUN directive. \$\endgroup\$ Commented Nov 5, 2014 at 13:01
  • \$\begingroup\$ Yes it is, and what makes you think that two semicolons are needed? There's more to SAS than procs and data steps, as suggested on that page... \$\endgroup\$
    – user3490
    Commented Nov 5, 2014 at 17:59
  • \$\begingroup\$ Just checking. I don't know the first thing about SAS, and after skimming that first section it sounded like that's the structure of any SAS program. \$\endgroup\$ Commented Nov 5, 2014 at 18:01
  • 3
    \$\begingroup\$ It is a program, and it's been cracked. codegolf.stackexchange.com/a/41199/32668 \$\endgroup\$
    – ConMan
    Commented Nov 7, 2014 at 2:44
3
\$\begingroup\$

Python 3, size 48 (Cracked)

#print(']'2p/')'\xdh))2[:roo,h+(2*e'rw)/r(d'o(()

Output

head

Hopefully this one lasts a bit longer...

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Cracked. Pretty sure this is the intended answer. \$\endgroup\$
    – Sp3000
    Commented Nov 5, 2014 at 5:55
3
\$\begingroup\$

GolfScript (13 bytes) (Cracked)

&+,,../224?{}

Expected output:

1234260885218145824583458445854586253225388392299142924142925142926142927142928302928497409497409
\$\endgroup\$
1
3
\$\begingroup\$

Mathematica, 73 72 bytes [Safe]

(I miscounted the bytes when I made the post.)

Code:

""""#&()*,,01>@@@@@[[]]`StrongSolemnNiceLustyTensorSextetNastiesEastCamp

Output:

0.5 + 14.1347 I

Original code:

N@(ToExpression@Last@Select[Names@"System`*",StringCount[#,"eta"]>0&])@1

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

Marbelous 45 [SAFE]

Chars

^^^^^^^^^^!!&&000004459:<<<>>>\\EE//V{{{{}}}}

Each ^ is a placeholder for a newline.

Output

Z{-8H`

Source

44 {} :{} }0E5 << }0 E9 &0&0 >>\/ >V!! /\{<{0

{} is a board that calculates (((}0 * 3 - 23) mod 256) - 27)/2. This is a Linear Congruential Generator, with its output modified to fit in the printable ascii range more often. The program terminates at the first output that is not a printable ascii character.

JS Marbelous Interpreter

This requires cylindrical boards (i.e. marbles pushed off of the board on the left reappear on the right and vice-versa).

\$\endgroup\$
1
  • \$\begingroup\$ This is safe now, so you should post your program to protect your submission. \$\endgroup\$
    – user10766
    Commented Nov 20, 2014 at 5:48
3
\$\begingroup\$

Marbelous, 37 [safe]

Code

^^^^^^^^!!-0002:::<<<<>>>>\F///WW{{}}

^ represents a newline; no ^s are to be used.

Output

lHp`

Original Source

F2 >: :>: }0 <<}0 -W// << >W!! /\{0{>

This passes 0xF2 into the board >:, which finds 2*(3*}0-32) mod 256, checks to make sure the result is greater than 32, and if so, outputs it down and left. The down marble is emitted as a character, and the left character is passed into >: again.

JS Marbelous Interpreter

This requires cylindrical boards (i.e. marbles pushed off of the board on the left reappear on the right and vice-versa).

\$\endgroup\$
3
\$\begingroup\$

SAS, 28 (SAFE)

%1(STAR)SPY,&2STUD;BUNNIES,%

Outputs I

(that's capital letter i)

Solution:

%PUT%SUBSTR(&SYSENDIAN,2,1);

Which outputs the second character of the automatic macro variable SYSENDIAN (which takes the values BIG and LITTLE) to the log.

\$\endgroup\$
2
  • \$\begingroup\$ Going to give this one more day, then add the solution. \$\endgroup\$
    – ConMan
    Commented Nov 17, 2014 at 22:18
  • \$\begingroup\$ Well, I'm safe. \$\endgroup\$
    – ConMan
    Commented Nov 19, 2014 at 22:26
3
\$\begingroup\$

J - 14 char

Going for the gold. Edit: I have been recently made aware that this code performs differently depending on whether you are using a 32-bit or 64-bit version of the latest J (j803). If this is grounds for disqualification, let me know: otherwise, I would concede a crack as an unscrambling that gives the correct answer on at least one of the two versions.

Scrambled:

7*8..?56!/x\+/

32-bit output:

2704156

64-bit output:

2722721
\$\endgroup\$
3
  • \$\begingroup\$ Does this code always produce the same output? (I'm no expert in J, but I thought ? was used to generate random numbers) \$\endgroup\$
    – r3mainer
    Commented Nov 27, 2014 at 19:34
  • \$\begingroup\$ @squeamishossifrage Yes, that's correct, and yes, it always produces the same output. \$\endgroup\$ Commented Nov 27, 2014 at 20:12
  • \$\begingroup\$ I suspect the fact that it makes 2 different answers has do with the fact that the answer is really big, which would make sense if it uses factorial. \$\endgroup\$
    – Bijan
    Commented Apr 4, 2017 at 0:15
3
\$\begingroup\$

CJam, 19 bytes (SAFE)

Code:

%\@_@){;_0}*__*)\15

(A few smileys survived the factory explosion...)

Output:

10120125854501259106171741725012526265263117252614371738261720339343012

Solution:

1_{_@)_@_*)\%}50*\;

Calculates and concatenates together the first 51 terms of the following sequence:

a[1] = 1
a[n] = (a[n-1]**2+1)%n

The sequence increases rapidly, but every time a[n] gets above n, it gets knocked down again by the modulo operation. Here's the same thing with spaces inserted:

1 0 1 2 0 1 2 5 8 5 4 5 0 1 2 5 9 10 6 17 17 4 17 2 5 0 1 2 5 26 26 5 26 31 17 2 5 26 14 37 17 38 26 17 20 33 9 34 30 1 2

\$\endgroup\$
3
\$\begingroup\$

Perl - 21 bytes (safe)

~$is^*peter**+working

(the above evaluates to 1, btw)

Ouput

65534

Original

s**$~^wkirgo*ee+print

Explanation

The code performs a substitution which is evaluated, and then the result of that is evaluated (ee). The variable $~ starts its life as STDOUT, so that $~^wkirgo evaluates to $?-=2;.

The variable $? is also special, in that it is stored internally as an unsigned short. Decrementing it by two wraps around to 65534.

\$\endgroup\$
3
\$\begingroup\$

ASP/ASP.Net - 14 [SAFE]

Code

<%=Len('12')%>

Output

1

Answer

<%=1)''Len(2%> (Basically the equivalent of writing <%=1%>)

\$\endgroup\$
2
\$\begingroup\$

CoffeeScript, size 25 [Cracked]

Code

the terse tales // [.]

Output

false

You can try it out here in the "Try CoffeeScript" tab.

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

JavaScript, 26 (cracked)

later(103>(8-9)&80>4|10>9)

Output

999
\$\endgroup\$
1
  • \$\begingroup\$ Cracked. \$\endgroup\$
    – jimmy23013
    Commented Nov 4, 2014 at 23:16
2
\$\begingroup\$

PHP, Size 14 (Cracked)

aaaaaa:::::??;

Prints nothing when notices are turned off (no warning or fatal error messages).

\$\endgroup\$
2
2
\$\begingroup\$

JavaScript, 61 (Cracked)

Code

x=next facile tortuously inept encrypter.{}()()()()(4-1);;ffo

Output

ring
\$\endgroup\$
5
  • \$\begingroup\$ Pretty sure that the last t is supposed to be o instead. Please correct me if I am wrong. \$\endgroup\$
    – Optimizer
    Commented Nov 5, 2014 at 12:43
  • 2
    \$\begingroup\$ Cracked based on the above assumption. If my assumption was wrong, I will remove the answer and this comment. \$\endgroup\$
    – Optimizer
    Commented Nov 5, 2014 at 12:48
  • \$\begingroup\$ You're correct. Sorry I really messed that one up trying to be clever with the anagram. \$\endgroup\$
    – jsh
    Commented Nov 5, 2014 at 13:40
  • \$\begingroup\$ Heh, no issues. I knew that the only way to get String is with two typeof on a function. \$\endgroup\$
    – Optimizer
    Commented Nov 5, 2014 at 13:41
  • 1
    \$\begingroup\$ FYI the original used typeof(typeof 1) \$\endgroup\$
    – jsh
    Commented Nov 5, 2014 at 13:43
2
\$\begingroup\$

Python 3, size 37 (Cracked)

Code:

int(22 ** 2 ** 2+range(irr)[]__npof_)

Output (space separated):

0 1 4 9 16 25 36 49 64 81
\$\endgroup\$
3
  • 2
    \$\begingroup\$ Cracked. \$\endgroup\$
    – xnor
    Commented Nov 4, 2014 at 21:51
  • \$\begingroup\$ @xnor Sorry, nope. \$\endgroup\$
    – matsjoyce
    Commented Nov 5, 2014 at 7:37
  • \$\begingroup\$ @matsjoyce it is now, see the comments. \$\endgroup\$
    – isaacg
    Commented Nov 5, 2014 at 7:56
2
\$\begingroup\$

Python 2, 101

Code

"rne) n(sxx+ai(cpi)% ( *2n+f 1 )corii\.5n /r +5xeini+"h(5te4437f3)xjxo2]2or[)%(#"g r"+"lf/r2 # 1xn"h5

Output

'4
[#
;4
E4
##
Y4
c4
\$\endgroup\$
1
  • \$\begingroup\$ I can match the output but for one character. :( It feels like I've tried everything, but I'm not even sure if I'm close to the intended answer. I give up now. Please feel free to call this safe. I'm really interested to see the solution. \$\endgroup\$
    – Emil
    Commented Nov 29, 2014 at 15:00
2
\$\begingroup\$

Ruby - 58 (Cracked)

puts 00000000111222344455556677888889^^^^aacdddddefffxxxxx

Yeah you need to xor the hexadecimal literals in this one...

Output:

1436068433

Hope this lasts more than my last one...

\$\endgroup\$
2
  • \$\begingroup\$ Cracked :-) How long did the last one survive? \$\endgroup\$
    – r3mainer
    Commented Nov 6, 2014 at 0:16
  • \$\begingroup\$ @squeamishossifrage 2.5 hours… It lasted even shorter than the last one ;-) \$\endgroup\$
    – bwoebi
    Commented Nov 6, 2014 at 0:17
2
\$\begingroup\$

Brainfuck, 118 chars [cracked by feersum]

Scrambled:

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

Output:

q$V4yQ!

This won't win, but there just had to be one. Assumes no cell wrapping, and works even if the tape has no cells to the left. I don't know how BF is scored, so I've put down chars.

For a BF program, 118's not that long...


Explanation

The intended solution was ++++[>++++<-]>[>+>>>+>>>>+<<<<<<<<-]>>+++++++>+++++>+>+++++[>++++++++<-]+++>>++>[[<[>>+>+<<<-]>>[<<+>>-]<-]<]>>>>[+.>]. The ASCII values are [113, 36, 86, 52, 121, 81, 33], from which we can subtract 1 to get [112, 35, 85, 51, 120, 80, 32]. This can be achieved by building the numbers [16, 7, 5, 17, 3, 40, 2, 16] then multiplying pairwise.
However, as feersum points out, this is completely irrelevant in BF as long as you can golf your code down to be short enough.

\$\endgroup\$
2
  • 3
    \$\begingroup\$ The code looks like a robot shooting lasers from eyes to a steel wall! :D \$\endgroup\$
    – Optimizer
    Commented Nov 6, 2014 at 8:20
  • \$\begingroup\$ Cracked \$\endgroup\$
    – feersum
    Commented Nov 6, 2014 at 9:37
2
\$\begingroup\$

C, 30 (cracked by feersum)

Code

_L%"p;at(_N()m_Enin{_}diIf)",r

Output

1
\$\endgroup\$
1
  • \$\begingroup\$ Cracked \$\endgroup\$
    – feersum
    Commented Nov 6, 2014 at 15:21
2
\$\begingroup\$

ECMAScript, 26

Run in a Chrome browser console

Code

$( convenient )({"awful"})

Output

$ {}

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Should I run it in Console ? Does it require Jquery to be on the page ? Please mention these in your post. \$\endgroup\$
    – Optimizer
    Commented Nov 6, 2014 at 19:54
  • \$\begingroup\$ @Optimizer running in console is correct. I choose not to answer your second question because knowing that answer is something you can answer this without. \$\endgroup\$
    – Cris
    Commented Nov 6, 2014 at 20:01
  • \$\begingroup\$ Cracked. \$\endgroup\$ Commented Nov 6, 2014 at 20:14
  • \$\begingroup\$ @MartinBüttner Nice work! \$\endgroup\$
    – Cris
    Commented Nov 6, 2014 at 23:55
1 2
3
4 5
9

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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