44
\$\begingroup\$

This is the robber's thread of a challenge. You can view the cop's thread here

A pretty common beginner style question is to print some string, but, there's a catch!, you need to do it without using any of the characters in the string itself!

For this challenge we will find out who is the best at printing X without X. There are two threads to this, a cop's thread and a robber's thread.

In the cop's thread users will choose a language (which we will call Y) and a string (which we will call X) and write a program in language Y which takes no input and outputs X without using any of the characters in X. The cop will then post both X and Y without revealing the program they have written.

Robbers will be select cop answers and write programs in language Y which take no input and output X. They will post these "cracks" as answers in this thread. A crack need only work not be the intended solution.

Once a cop's answer is one week old, so long as it has not been cracked, the cop may reveal their program and mark it as "safe". Safe answers can no longer be cracked

Robbers will be scored by the total number of successful cracks with more cracks being better.

\$\endgroup\$
1
  • 5
    \$\begingroup\$ Congrats on an excellent challenge with high 'replay value'. I've had a lot of fun participating on both sides, digging into a couple of languages for the first time along the way. \$\endgroup\$
    – Dingus
    Aug 20, 2020 at 3:22

142 Answers 142

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

Lua, 2433 bytes, cracks @LuaNoob's second answer

io.write(_G[([[string]])][string.lower([[CHAR]])](string.len([[................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[..................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[...................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[....................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.....................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[......................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.......................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[........................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.........................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[..................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[...................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[....................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[......................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.......................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[..........................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[...........................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.............................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[...............................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[............................................................................................]])).._G[([[string]])][string.lower([[CHAR]])](string.len([[.................................................................................................]])))

Try it online! Untested in 5.1 (TIO has 5.3.5), but I don't believe there's any code here that depends on the minor version.

Pretty similar to the first crack. This time we don't have a or #, which we work around by calling string.char as _G[([[string]])][string.lower([[CHAR]])] and # as string.len. I used this Ruby code to generate the Lua:

X = %q(0123456789 "#$&'*+-/\\a)
luaify = ->(s) { s.bytes.map{|b|"_G[([[string]])][string.lower([[CHAR]])](string.len([[#{'.'*b}]]))"}*'..' }
print "io.write(#{luaify[X]})"

Try it online!

\$\endgroup\$
1
  • \$\begingroup\$ let me fix that ASAP :D \$\endgroup\$
    – LuaNoob
    Feb 7, 2021 at 17:09
1
\$\begingroup\$

Forth (gforth), 13 bytes, cracks binarycat's challenge

.\"0x0B\x20\t\n"

Try it online!

This also happens to be my first Forth program. 😃

Explanation

It is really simple. I use .\" which allows me to use C-style escapes, and then I use a vertical tab (0x0B) to delimit the tokens, as Gforth uses the same whitespace rules as isspace(). The rest is just writing everything in C escapes.

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

Rattle, 48 bytes, cracks @DanielH.'s answer

+4*4*7,%=+4*7+7+7+++,+7+7,%=+7+7++b*7b**7b*b*7bB

Try it online!

Pretty straightforward: push a bunch of values to the stack, then either print them as characters (,) or concatenate them to the print buffer (b) as floats. I use %= (modulo with top of stack) to reset the stack.

\$\endgroup\$
2
  • \$\begingroup\$ This is awesome - this is the first answer (that I know of) by a user other than myself in Rattle! By the way, the default argument for the = command is 0, so you can actually remove the % \$\endgroup\$
    – Daniel H.
    Feb 11, 2021 at 5:13
  • 1
    \$\begingroup\$ @DanielH. I found it pretty easy to get up and running (albeit only doing really basic stuff). Looks like an interesting language. \$\endgroup\$
    – Dingus
    Feb 11, 2021 at 6:24
1
\$\begingroup\$

Dis, 47 bytes, cracks @tailsparkrabbitear's answer

*|||_________________________________________>!

Try it online! Link compiles and runs a copy of Ben Olmstead's interpreter in C.

Explanation

We make use of self-modifying code to execute the banned print instruction.

*|||                                         >  # set the accumulator to 123; also store 123 in cell 45
    _________________________________________   # no-ops
                                             >  # execute cell 45 (modified to codepoint 123), i.e. print accumulator as ASCII character
                                              ! # terminate
\$\endgroup\$
1
  • \$\begingroup\$ Great that it's shorter than my original answer! \$\endgroup\$
    – user100411
    Jul 23, 2021 at 3:45
1
\$\begingroup\$

Javastack, cracks AUsername's sixth answer

((alphabet length not not) * 1234567890) (add * 1234567889) quote add alphabet alphabet length not not double index add alphabet (alphabet length not not * 17) (add * 16) index add alphabet (alphabet length not not * 18) (add * 17) index add 

Yeah this was way easier than last year's round 6. All I had to do was just change the answer to round 5. ;P

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

Javastack, cracks Enamresu A's twelfth answer

"abcegiln" "a" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop pop swap pop swap pop swap pop swap pop replace "b" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop pop pop pop pop pop replace "c" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop pop pop pop swap pop swap pop replace "e" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop swap pop swap pop swap pop swap pop swap pop replace "g" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop swap pop swap pop swap pop swap pop swap pop swap pop replace "i" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop pop pop swap pop swap pop swap pop replace "l" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate swap pop swap pop swap pop swap pop swap pop swap pop swap pop replace "n" ascii "0" "" replace "1" "" replace "2" "" replace "3" "" replace "4" "" replace "5" "" replace "6" "" replace "7" "" replace "8" "" replace "9" "" replace "a" "" replace "b" "" replace "c" "" replace "e" "" replace "g" "" replace "i" "" replace "l" "" replace "n" "" replace "o" "" replace "p" "" replace "q" "" replace "r" "" replace "s" "" replace "t" "" replace "w" "" replace "x" "" replace "y" "" replace "z" "" replace "A" "" replace "B" "" replace "C" "" replace "D" "" replace "E" "" replace "F" "" replace "G" "" replace "H" "" replace "I" "" replace "J" "" replace "K" "" replace "L" "" replace "M" "" replace "N" "" replace "O" "" replace "P" "" replace "Q" "" replace "R" "" replace "S" "" replace "T" "" replace "U" "" replace "V" "" replace "W" "" replace "X" "" replace "Y" "" replace "Z" "" replace "!" "" replace "~" "" replace " " "" replace "#" "" replace "&" "" replace "%" "" replace "'" "" replace "/" "" replace ":" "" replace "@" "" replace iterate pop pop pop pair pair pair pair pair pair pair swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop swap pop iterate iterate iterate iterate iterate iterate iterate pop pop pop pop pop pop swap pop replace

... 10526 bytes. This one was suffering.

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

Javastack, cracks Enamresu A eighth answer

zpake zpake equal "" add "" ceil index  
zpake zpake equal "" add (1) index add
(111) zpake zpake equal "" add (1) index "cha" add eval add
(115) zpake zpake equal "" add (1) index "cha" add eval add
(98) zpake zpake equal "" add (1) index "cha" add eval add
(103) zpake zpake equal "" add (1) index "cha" add eval add
(1234567890) add

For clarity:

zpake ceil zpake ceil equal = 1
(zpake ceil zpake ceil equal * n)(add * n - 1) = n

JavaScript abuse ftw

\$\endgroup\$
1
  • \$\begingroup\$ This is exactly what I had, pretty much. Nice job, this is beautiful. \$\endgroup\$
    – emanresu A
    Aug 8, 2021 at 4:08
1
\$\begingroup\$

Javastack, cracks Enamresu A's seventh (yes, seventh) answer

((alphabet length alphabet length divide) * 1234567890) (add * 1234567889)
alphabet (4) index alphabet (19) index add alphabet (14) index add alphabet (20) index add alphabet (16) index add eval add
alphabet (2) index add
alphabet (position of r in the alphabet) index add
alphabet (position of s in the alphabet) index add
alphabet (position of y in the alphabet) index add
alphabet (position of o in the alphabet) index add

Replace numbers in brackets ((n)) with (alphabet length alphabet length divide) * n (add * n - 1)

Do you see how I put seventh in italics? That's an ode to the fact that this isn't my first time reaching round 7 of a match.

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

Javastack, cracks Enamresu A's fifth answer

((maybe length not) * 1234567890) (add * 1234567889) quote add alphabet maybe length not double index add alphabet (maybe length not * 17) (add * 16) index add alphabet (maybe length not * 18) (add * 17) index add 

Traditionally, the next round is the one where I actually have to think for a while. Here's hoping I don't.

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

Javastack, cracks Enamresu A's fourth answer

not times context (increment * 1234567890) context (increment * 34) char context (increment * ascii value of "q") pair context (increment * ascii value of "d") join context (increment * ascii value of "l") pair context (increment * ascii value of "w") join pair sum

Vyxal features ftw.

That's enough for today.

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

Javastack, cracks Enamresu A's third answer

not increment * 1234567889 flatprint not increment * (ascii value of " - 1) char flatprint not increment * (ascii value of d - 1) flatprint not increment * (ascii value of w - 1) flatprint not increment * (ascii value of q - 1) flatprint

H...hey actually give me time to actually write a post please!

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

Javastack, cracks AUsername's thirteenth answer

107 char 100 char 115 char 109 char 117 char 106 char 118 char 102 char 98 char wrap 1 repeat "," "" replace

Sussy baka

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

Vyxal O, 707126 bytes, cracks EmanresuA's seventh (yes, seventh) answer

Sample:

⟨\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o|\o⟩LkA≬\D<ṡ∷∷Ė

Full code

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

Vyxal O, 299195 bytes, cracks EmanresuA's eigth answer

Sample:

×ǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏǏLkA√y$_y_y_y_Ė

Full code

...

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

Vyxal O, 801294 bytes, cracks EmanresuA's ninth answer

Sample:

¶ḃʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLʀLkA‛ABo↓ǐĖ

Full code (ignore the file name it's a very unfunny joke)

Yes.

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

Vyxal O, 2051108 bytes, cracks EmanresuA's tenth answer

Sample:

?ꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rLꜝ?rL?↵↵LkAτĖ

You read that right. The answer really is 2 million bytes. Github doesn't like the file, so here's the generator:

`,₴…‹›⟇+*/-d↵EǍ½ƒɖ1234567890ø∆e₈₇∞₆₄JpiẎȯhtḢṪḣṫ¡Þ₀₁C!¬⇧İN⇩Ż÷«»\`;¥£¾¼⅛%→←"ẋ¤ȦFȧ⌐m⊍g≬\ṡ∷‡⁽⟨|⟩‟„$∇_yǏṘRq꘍₍₌Π⁺ʀ↑↓G↲↳⋏⋎Ṅ⁋ð×λ√²⌈⌊:ḊD` \λ \‛ VC ƛ`?``ꜝ?rL`n*+`?↵↵LkAτĖ`+;

Why the \λ \‛ V? Because doesn't play nice inside strings.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Bruh you could get around -1000000 bytes by using instead of ꜝ?rL. get golf'd baka \$\endgroup\$ Sep 27, 2021 at 19:34
  • \$\begingroup\$ @AaronMiller the whole point is that I answer these in the most inefficient and convoluted way possible \$\endgroup\$
    – lyxal
    Sep 27, 2021 at 23:25
1
\$\begingroup\$

Vyxal, 1606416 bytes, cracks lyxal's answer

Sample:

εuεuεuεuuεuεuεuεuε\‛§εḭĖuuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuεuuεuεuεuεuε\‛§εḭĖĖuuε

Full code

Generator program

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

!@#$%^&*()_+, 141 bytes, cracks @null's answer

**********************************************************************************************_@*******************************************_@

Try it online!

The strategy to print a character is simple:

  1. Find the character's codepoint and execute that many copies of the * command. Each * attempts to read a byte of input from STDIN, but when the input is empty \$-1\$ is added to the top of the stack instead.
  2. Negate the top of stack (_).
  3. Pop and print the top of stack as a character (@).

(Using loops might be shorter, but this isn't code golf.)

\$\endgroup\$
4
  • 1
    \$\begingroup\$ This was the intended solution, but only after I posted the cop, I realized that `**@,*@ works. \$\endgroup\$
    – null
    Feb 2 at 4:34
  • \$\begingroup\$ Next challenge coming soon. P. S. This tricked is used in my reverse input answer, and I think that's pretty neat. \$\endgroup\$
    – null
    Feb 2 at 4:34
  • 1
    \$\begingroup\$ @null Ha, I completely missed that helpful sentence at the bottom of the readme: 'All other characters push their values'. Lucky this wasn't code golf! \$\endgroup\$
    – Dingus
    Feb 2 at 4:47
  • \$\begingroup\$ Here's a better documentation. \$\endgroup\$
    – null
    Feb 2 at 13:21
1
\$\begingroup\$

Brainf**k - 98 Bytes CreaZyp154's Answer

++++++++++++++++++++++++++++++++++++++++++++.+.+++++++++++++++.++.+++++++++++++++++++++++++++++.++

Output

,-<>[]

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

Brainfuck, cracks CreaZyp154's answer

++++++++++++++++++++++++++++++++++++++++++++.+.+++++++++++++++.++.+++++++++++++++++++++++++++++.++.

Attempt This Online!

\$\endgroup\$
2
  • \$\begingroup\$ It seems this was already cracked although no comment was left. \$\endgroup\$
    – Wheat Wizard
    Jun 21 at 16:55
  • \$\begingroup\$ Should I delete the answer? \$\endgroup\$
    – matteo_c
    Jun 22 at 9:31
0
\$\begingroup\$

><>, cracks HighlyRadioactive's seventh answer (yes, seventh)

00=n00=00=+n00=00=00=++n00=00=00=00=+++n00=00=00=00=00=++++n00=00=00=00=00=00=+++++n00=00=00=00=00=00=00=++++++n00=00=00=00=00=00=00=00=+++++++n00=00=00=00=00=00=00=00=00=++++++++n00=:+:+:+:+:+::++::,+:00=+:00=+:00=+:00=+:00=+00=:+:+:+:+:+00=:+:++00=:++00=00=00=00=00=++++00=00=+*:*00=:+:+:++:00=00=00=+++:00=00=00=++00=00=+*-00=:+:+:+:+:+00=+00=+00=+00=+00=+00=+00=+00=:+:+:+:+:+00=00=++00=:+:+:+:+:+::++00=00=+::**+00=00=00=00=00=00=00=+++++++00=00=pv
> <                                                                                                                                                                                                                                                                                                                                                                                                                                                                r<

Try it online!

Way easier than last time.

\$\endgroup\$
1
  • \$\begingroup\$ Yep. Let's move on. \$\endgroup\$
    – null
    Aug 13, 2020 at 3:52
0
\$\begingroup\$

APL (Dyalog Unicode), 81 bytes, cracks Ada's answer

∆←⍎'⎕A',22⊃⎕A
⎕←(25↑66↓∆),(26↑17↓∆),(97⊃∆),⍕2+1

Try it online!

This was pretty easy. ⎕A is our escape hatch - it's the list of all 26 capital letters in the English alplhabet. We want ⎕AV, a string containing all the letters Unicode APL uses. 22⊃⎕A gets the 22nd element of ⎕A ("V"), and we append that to the string '⎕A' and execute it to get the value of ⎕AV. That is assigned to a variable .

\$\endgroup\$
1 2 3 4
5

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.