27
\$\begingroup\$

This is the cops' thread. The robbers' thread goes here.

Write a program or function consisting only of printable ASCII characters (that excludes tab and newline) that outputs at least 5 printable ASCII characters in ascending order (from space to tilde / 32 to 126). Characters can be outputted several times, as long as they are adjacent to each other. A single trailing newline is accepted. You must provide the full output, and for every 6 characters in your code you must provide one character in your code, at the position it appears. If your code has 5 or less characters, then you have to reveal only the length. You shall not reveal more than 1 character per 6 in your code.

So if your code alphaprinter outputs the alphabet from a-z, then you need to reveal 2 characters of your code (use underscore for the others), for instance:

al__________  // or
__p__p______  // or
__________er

Rules / specifications:

  • You cannot append trailing white spaces that doesn't have a function.
  • You can not use comments (but the robbers can use comments when cracking the code)
  • Built-in cryptographic primitives (includes any rng, encryption, decryption, and hash) aren't allowed.
  • In languages where the default output are like in MATLAB: ans =, then that's accepted, as long as it's clearly stated and shown that ans = is outputted. It should also be clearly stated whether this is part of the "ascending output" or not.
  • The output must be deterministic
  • Using a non-free language is not accepted
  • The output doesn't have to be consecutive characters. Both abcde and abcdg are valid outputs.
  • The characters do not need to be distinct as long as the output contains at least 5 characters. aaaaa and aaacc are valid.
  • Answers that assumes a REPL environment are not considered to be valid programs or functions and are therefore not allowed.
  • STDERR is not considered valid output, but data may written to STDERR.

If the revealed characters are underscores, then you must identify it as shown below. In this case, the second and sixth character are revealed underscores, while the others are unknown.

_____________
 |   |

Note: The robbers only need to find a code that produces the same output. The language, the length of the robbers solution, and the position of the revealed characters must also match.

Your score is the number of characters in your code. The winner will be the submission with the lowest score that hasn't been cracked in 7 days. Only submissions that are posted in 2015 (UTC) are eligible for the win. Submissions that are posted later than this are welcome, but can not win.

In order to claim the win you need to reveal the full code (after 7 days).

Your post should be formatted like this (nn is the number of characters):


Language, nn characters

Output:

abcdefghijklmnopqrstuvwxyz

Code (12 characters):

al__________

If the code is cracked, insert [Cracked](link to cracker) in the header. If the submission is safe, insert "Safe" in the header and reveal the full code in your answer. Only answers that have revealed the full code will be eligible for the win.

\$\endgroup\$
13
  • 1
    \$\begingroup\$ Does this mean that if my code is print ( "abcde" ), I can reveal three whitespaces? \$\endgroup\$
    – Adnan
    Dec 26, 2015 at 12:07
  • \$\begingroup\$ @Adnan, technically yes, you can. \$\endgroup\$ Dec 26, 2015 at 12:15
  • 1
    \$\begingroup\$ When somebody makes a seed answer, we might not even know the length of the code. \$\endgroup\$
    – wizzwizz4
    Dec 27, 2015 at 9:03
  • \$\begingroup\$ @wizzwizz4 Seed isn't allowed \$\endgroup\$
    – Adnan
    Dec 27, 2015 at 10:03
  • \$\begingroup\$ @Adnan I suppose it doesn't require any brainpower, only brute-force power. \$\endgroup\$
    – wizzwizz4
    Dec 27, 2015 at 10:15

56 Answers 56

1
2
2
\$\begingroup\$

Python 2, 62 chars, Cracked by Adnan

______________________________________________________________
         | |   ||                  |  |  ||

It kinda looks like a table.

This outputs the string abcde.

Adnan's code:

print "ab_c_de___".replace("_","")#___________________________

My code:

f=lamda _,__,___:"abcde"+'f'*sum(_,__,___)*000;print f(1,2,3);

\$\endgroup\$
5
  • \$\begingroup\$ Cracked \$\endgroup\$
    – Adnan
    Dec 30, 2015 at 23:01
  • \$\begingroup\$ I am allowed to use comments, right? \$\endgroup\$
    – Adnan
    Dec 30, 2015 at 23:28
  • \$\begingroup\$ I don't know. I specifically said when I posted it there were no comments. I don't know if I can do that though. I commented on the OP and asked. We'll see what he says. \$\endgroup\$
    – Riker
    Dec 30, 2015 at 23:50
  • 1
    \$\begingroup\$ You can not use comments (but the robbers can use comments when cracking the code) (CC @Adnan) \$\endgroup\$
    – Dennis
    Dec 31, 2015 at 1:28
  • \$\begingroup\$ Awww. @Rikerw is sad now. \$\endgroup\$
    – Riker
    Dec 31, 2015 at 1:31
2
\$\begingroup\$

Because I majorly f'ed up my last answer.


Mouse-2002, 23 chars, safe

Code:

________9<^___________

Output:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab
\$\endgroup\$
0
2
\$\begingroup\$

Ruby, 32 characters, safe

Output (with no trailing newline):

!"#$%&'(+,./567;<HKLUVWnouvw

Obfuscated code:

________{|c|___________________}

Revealed code:

95.times{|c|c&5*c<7&&putc(c+33)}

Explanation:

Actually pretty straight-forward, just too arbitrary to easily guess or brute-force. For each number c from 0 to 94, bitwise-and c and 5*c. If the result is less than 7, add 33 and output as an ASCII character.

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

Pyth, 15 characters (safe)

Code:

_CM____________

Output:

"$%'()+-./013456789:;=?BCEFGIKLOPRSTUWXYZ[]^`abcdefghjklmoqsuvxy{|

You can try Pyth online.

I wonder if you can find out the criteria for the characters. :3

Additional hint:

One could have a computers firm like Captor's Fermium totally messed up on just this one puzzle, and still they wouldn't fully solve it. Even the actor Frump Mise couldn't solve it.

Original code

sCMf%sPT3rCN127

Explanation:

rCN127 generates all numbers from 34 (CN = ord('"')) to 127. f%sPT3 finds all the ones that satisfy the following: the sum of the prime factors of n is not divisible by 3. s concatenates the results. The first hint has the number 3, and it refers to filtering the characters/numbers. The additional hint contains 3 anagrams of prime factor sum.

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

Octave, 22 characters, Safe

Code:

__A____________A___V__

Output:

ans = ABCDFGHHIJLMNNOPRSTTUV

ans = is not part of the output. The output starts with an A.

Real code:

[(A=66:86)+sin(A),'V']

Explanation:

In Octave, variable assignments can be done in the same line they are used. So, the variable A is created starting from 66 (corresponds to A in ASCII) to 86 (corresponds to V in ASCII). +sin(A) creates a small sine wave noise. 'V converts the vector to chars and adds a V at the end. The variable name A and the last letter V was of course chosen to throw people of track =)

This one was made for the robbers. Hope it's neither too hard nor too easy. Good luck :-)

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

MirBSD Korn Shell, 57 characters, safe

Output:

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

Code (57 characters):

___________32____________127_____________________echo$s

Revealed code:

local -i1 x=32;while((++x<127));do s+=${x:2};done;echo $s

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

Recall, 64 characters

Output:

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

Code:

_D_0__0_M__________0__0___0_________Z___0____0_____________M____

Pretty straightforward in theory. I made a sandbox here, so you can try things. Keep in mind that infinite loops or deep recursion will crash your tab/browser, so keep a copy elsewhere when trying. You can also download recall.min.js from the link in the title and run it with node.js.

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

PHP, 61 characters

Gonna try again, if that's okay :p I wasn't expecting range('a','z') to be particularly well-known, but I should have known better around here ;)

Code:

<?p___________++<_______h__________e______1____p_____________

Outputs:

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

Python 2, 76 characters, Cracked by Adnan

print __________h______________________v_____________,___)_________)_______)

Outputs

BKT]f

Full Code

print "".join([chr(x) for x in list(reversed(range(32,126)[70:5:-9]))[3:8]])

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Cracked \$\endgroup\$
    – Adnan
    Dec 28, 2015 at 21:43
1
\$\begingroup\$

05AB1E, 7 characters, cracked by quintopia

Obfuscated code:

___T___

Original code:

576T*uH

576      # Pushes 576
   T     # Pushes 10
    *    # Multiply the last two items of the stack
     u   # To uppercase, this just returns 576 in string format
      H  # Convert from hexadecimal to decimal

Note: I used the uppercase command to convert the int to a string. This however is a bug and has already been fixed.

Output:

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

Marbelous, 19 characters

_1
___0
____
_____1

Outputs

39?E(
\$\endgroup\$
2
  • 3
    \$\begingroup\$ "Write a program or function consisting only of printable ASCII characters (that excludes tab and newline)..." \$\endgroup\$
    – cat
    Dec 30, 2015 at 18:38
  • 2
    \$\begingroup\$ @cat check the comments on the other Marbelous submission \$\endgroup\$
    – Sparr
    Dec 30, 2015 at 22:27
1
\$\begingroup\$

Marbelous, 39 characters (safe)

_ is an unknown character: it may or may not be a newline.

* represents a newline character.

__^__________*__<___________@___/_*____

Output:

%,:>?@@BBFFNN^^~~

Code:

@0^5FF
0101FC
\\<ZEE
<</\+S
@0+Z//
25--

Online interpreter. None of the options should be checked.

\$\endgroup\$
6
  • 2
    \$\begingroup\$ Unfortunately, the code can only consist of printable ASCII. \$\endgroup\$ Dec 26, 2015 at 13:34
  • \$\begingroup\$ OP's comment: This is a valid post, although it says in the challenge that only printable ASCII characters should be used in the code. I confirmed to es1024 that newlines could be used. This will be the only exception to this rule. \$\endgroup\$ Dec 26, 2015 at 13:35
  • 1
    \$\begingroup\$ @StewieGriffin Do you mean than nobody else can use newlines; only es1024 in this answer is allowed to use them? \$\endgroup\$ Dec 27, 2015 at 6:37
  • \$\begingroup\$ Not allowing newlines effectively excludes Marbelous from these challenges. No non-trivial program can be written in mbl without vertical movement of marbles. \$\endgroup\$
    – Sparr
    Dec 30, 2015 at 18:16
  • \$\begingroup\$ @Sparr I don't see how the comments on this answer are agreeing with you. If nobody else can use newlines, then you can't either. \$\endgroup\$
    – cat
    Dec 30, 2015 at 22:33
1
\$\begingroup\$

PHP, 68 characters, safe

As usual, don't expect anything short from PHP:

______________________________1_________________________________[1_;
 |    |    |           |               |           |    |      |

Outputs this 252 character long string:

AAAAAAAABCCDDEEEEEEEGIIIIIKLMNNOOOOOOOOOPPPPRSSTTTUUUUUXYYZaaaaaaaaaaaaaabbbbccccccccccccdddddddeeeeeeeeeeeeeffffffggghhhhiiiiiiiiiiiklllllllllllllllmmmmmmnnnnnnnnnnooooooooooooooopppppppppppppqrrrrrrrrrrrrrrsssssssssssssssssstttttttttuuuuuuuuuwxyyyzzz

Hint 1

Sometimes you have to "translate" things.

Hint 2

Luckily PHP stores all those helpful "translations" for you internally.

Revealed code

There aren't too many built in functions, that return long strings or arrays with predefined values. One exception is get_html_translation_table. I sorted this array and returned the first character after the & from all escape sequences, e.g. the A from &Auml;. It has a nice distribution which looks random because the amount of entities related to a letter varies a lot.

$_=get_html_translation_table(1);sort($_);foreach($_ as$_)echo$_[1];
______________________________1_________________________________[1_;
>| | | | | | | |

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Unexpected T_PAAMAYIM_NEKUDOTAYIM? \$\endgroup\$
    – cat
    Dec 27, 2015 at 0:52
  • 1
    \$\begingroup\$ @cat Hihi. But it might be a different kind of translation. ;) \$\endgroup\$ Dec 27, 2015 at 1:01
1
\$\begingroup\$

Milky Way 1.6.1, 24 characters, Safe

Output:

jklmnopqrt

Code (24 characters):

^_"_________________"__!

Solution

^^"pqrjklmno"C=<<<"t"JG!
\$\endgroup\$
1
\$\begingroup\$

Seriously, 7 characters, (uncracked and noncompeting)

I was inspired by trying to find an answer to Adnan's latest cop, by how close this number was to their number:

___P___

Output:

22366

22366 is the 211th triangular number. The original program was 8PτPurΣ but it is disqualified for containing two non-ASCII characters. It simply takes the 8th prime (23), doubles it (46), finds the 46th prime (211), then pushes the 0-211 range (ur) and sums it.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Just to confirm, this code contains only printable ASCII? \$\endgroup\$ Jan 4, 2016 at 22:26
  • \$\begingroup\$ No. Guess I missed that requirement. Thought only the output had to be printable ascii. Well I can tell you it consists only of printable CP-437 characters. \$\endgroup\$
    – quintopia
    Jan 5, 2016 at 0:27
  • 1
    \$\begingroup\$ Since this doesn't meet the criteria, I suggest you edit it to note that it and its robbers are noncompeting. \$\endgroup\$
    – msh210
    Jan 5, 2016 at 20:07
  • \$\begingroup\$ But I don't want it's robbers to be noncompeting! Can't the robbers get credit for cracking it even when it is not a legal cop? \$\endgroup\$
    – quintopia
    Jan 6, 2016 at 0:47
0
\$\begingroup\$

Pyth, 6 characters (cracked by isaacg)

Output:

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Code:

S_____

Let's try a simpler one.

\$\endgroup\$
1
  • \$\begingroup\$ Cracked \$\endgroup\$
    – isaacg
    Dec 28, 2015 at 1:12
0
\$\begingroup\$

Unefunge-98, 16

Output:

&),/258;>ADGJMPSVY\_behknqtwz}

Code:

_#_________3____
\$\endgroup\$
0
\$\begingroup\$

JavaScript (ES6), 59 characters

Output:

   """'''(((((())))))+++++++++,,,,,,---------...............123:::===>>>???NNNNNNOOO[[[[[[\\\]]]]]]^^^______````````````aaabbbbbbccccccddeeeeeeeefgggggggggggghhhiiiijjjjjjjjjkkklllllllllnnnnnooooooooorrrssstttttttttu{{{}}}

The first 3 characters in the output are spaces.

Code:

(_____________________________________________.join``_____)

Note: The original version of this produced a much greater variation in characters with the exact same code hint, but I thought the output was unreasonably long so I decided that I'd at least give someone a chance at cracking this. :P Good luck!

\$\endgroup\$
1
  • \$\begingroup\$ You are already safe. \$\endgroup\$
    – user100411
    Sep 25, 2021 at 2:51
0
\$\begingroup\$

Forth, 29 chars

You're gonna need a very special version of Forth for this one: one that doesn't require newlines after function definitions.

Code

_______ __ _________ ____ ___

(Yes, that's whitespace, and yes, it has to be there or else one gets Error: Unknown word)

Output:

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

Note the leading space.

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

CJam, 9 chars

Code:

'_{___2__

Output:

abcdefghijklmnopqrstuvwxyz
\$\endgroup\$
1
  • \$\begingroup\$ Cracked. \$\endgroup\$
    – Dennis
    Dec 30, 2015 at 21:17
0
\$\begingroup\$

Brainfuck, 51 chars

Code

_____[________________]>.>_____[________]>[_______]

Output:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
\$\endgroup\$
2
  • 1
    \$\begingroup\$ +++++[>+++++++++++++<-]>.>+++++[>+++++<-]>[<<+.>>-] \$\endgroup\$ Dec 30, 2015 at 18:23
  • \$\begingroup\$ @Mitch Schwartz wow, it's exactly the same as real code \$\endgroup\$ Jan 5, 2016 at 10:03
0
\$\begingroup\$

Python2, 72 chars

Code:

___(___(___(___((_____)_(____)_)______________(______)________________)

Full output (63,769,891 bytes) as compressed by zlib (use import zlib; zlib.decompress(...) to get the actual string, which I recommend writing to a file)

\$\endgroup\$
9
  • \$\begingroup\$ Shouldn't this reveal 12 characters? \$\endgroup\$
    – Dennis
    Dec 31, 2015 at 1:41
  • \$\begingroup\$ @Dennis it absolutely should, I pasted the wrong version (after I added bytes.) \$\endgroup\$
    – cat
    Dec 31, 2015 at 1:56
  • \$\begingroup\$ can you provide a run-length-encoded version of the output for easier analysis? \$\endgroup\$
    – quintopia
    Dec 31, 2015 at 7:27
  • \$\begingroup\$ yeah, sure, gimmie a sec \$\endgroup\$
    – cat
    Dec 31, 2015 at 13:05
  • 1
    \$\begingroup\$ @quintopia here ya go \$\endgroup\$
    – cat
    Jan 2, 2016 at 13:43
0
\$\begingroup\$

Purple, 31 characters (safe)

__A_____________o______b__1___b

Full program:

a1AbA1iib{bi1b1Bo1aaa1bbab1Bi1b

Output:

abcdefghijklmnopqrstuvwxyz

Explanation:

It's about the shortest way to print the alphabet in Purple.

1.  a1A    Set to 1-"a" == -96
2.  bA1    Set b to -1 (using the fact that a is always negative)
3.  iib{   Set i=i-b, i.e. i+1. This skips over the "{"
4.  bi1    Set b = i-1 (the cell before the current command, containing "{")
5.  b1B    Set b = 1-"{" == -122
6.  o1a    Output 1-a (which will be the current character)
7.  aa1    Subtract 1 from a (i.e. move to the next character)
8.  bba    Set b=b-a. It will be negative until a==-122, when it will be zero
9.  b1B    Set b=1-what b points to. It will be 0 until a==-122, when it will be -96.
10. i1b    Jump to 1-b. This goes to line 2 until a==-122, when it jumps outside 
           the program and halts.

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

Perl 5, 31 bytes, safe

Code:

print__________________________

Output:

$%&&'+,,-1223478899:>??@DEEFJKKLLMPQRRSWXXY]^^_

Code:

print+(chr)x(1.2+cos)for 36..95

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

CLC-INTERCAL 1.-98.-2, 198 bytes, safe.

33 bytes are revealed:

__#3__#9__,1_____________________________3__3__-_3__3__________-_33_D_______&_________-_____________-___D_#4__#28D______________-________B#__-_V________________-_V_______________________________U___

Output is:

!->Ma

Should I post shorter one next time?

Try it online!

Answer

Sorry for irrationally difficult problem.

DO#3<-#9DO,1<-#3DO,1SUB#3<-#3~#3DO,1SUB'#3~#3'<-#3~#3DO,1SUB#5<-#338DO,1SUB"&'#3~#3'"<-#27DO,1SUB#4<-#27DO#4<-#28DO,1SUB'#4~#4'<-#4DO,1SUB#6<-"V'#V4'"DO,1SUB#8<-'V"V'#V4'"'DO,1SUB#2<-#333DOREADOUT,1

How it works

DO#3<-#9 changes meaning of the constant.

DO,1<-#3 lets array to have nine item; note previous statement.

DO,1SUB#3<-#3~#3 is equivalent to DO,1SUB#9<-#9~#9, which is equivalent to DO,1SUB#9<-#3.

DO,1SUB'#3~#3'<-#3~#3 does ,1SUB#3<-#3.

DO,1SUB#5<-#338 is equal to DO,1SUB#5<-#18 when READing OUT; this is how Baudot character set works; it cares for only lower five octets.

DO,1SUB"&'#3~#3'"<-#27 does ,1SUB#1<-#27.

DO,1SUB#4<-#27 is obvious, as none of those constants are not overloaded yet.

DO#4<-#28 now overloads the operand.

DO,1SUB'#4~#4'<-#4 now does ,1SUB#7<-#28.

DO,1SUB#6<-"V'#V4'" is actually DO,1SUB#6<-#30.

DO,1SUB#8<-'V"V'#V4'"' does ,1SUB#8<-#31

DO,1SUB#2<-#333 does what it says.

Finally, output is done by DOREADOUT,1.

By the way the reason why an array requires 9 items to output 5 characters is: tail arrays adopt extended Baudot character set. The character set has a concept of "state": uppercase, lowercase, figures, and symbols. When a same value is READ OUT with different state, the different character is READ OUT

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

CLC-INTERCAL, 38 bytes, safe.

This is much easier than previous. Six bytes are revealed:

____<-___________<-________DO_________

Outputs:

BCDLX

Try it online!

The answer

DO;1<-#1DO;1SUB#1<-#17DOREADOUT;1+#460

Please note output is "B" and "CDLX".

\$\endgroup\$
1
  • \$\begingroup\$ Sorry for having made problems that nobody really cares. \$\endgroup\$
    – user100411
    Oct 9, 2021 at 12:18
1
2

Your Answer

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

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