Printing ascending ASCII, Cops
Perl, 46 characters (safe)
Output:
((()))*++,---../00011123445556667779::;;<<==??@@AAACEFGHHHIKKMMNOOOPPQQQRRSSSVWXXYY[[[\]]]^^^```aaeeffggghjjjnpppqqrttuwxxyzz{{{
Code:
print _______________________________________;
I somehow managed to delete the original in the space of a week, but I think this is right:
print chr()x(($i=($i*41+7)%97)&3)for(40..123);
Brainfuck, 48 characters, cracked by Mitch Schwartz
I made this one for the robbers. It is definitely not going to be the winning submission :)
____[_____[_______]__]___[___________]___[_____]
This outputs:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Solution:
++++[>++++[>++++<-]<-]+++[>++++++++<-]>++[>+.<-]
I tested it here.
Hint: Don't try to find programs generated by online generators haha. This was handwritten and can only be solved by logical thinking :)
Noisy 3SP, 89 characters (safe)
0 _____________________________ _ _ _ _ _ _ _ _ _ __2_2__________________________________
Original program:
0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 3 2 2 2 2 0 3 0 1
This program prints
!"#$$
(note the leading space), and nothing else!
Explanation (*n refers to the nth cell in memory):
0 0 0 Increment *0 to 3 (via the 0s in *0, *1, and *2)
2 (32 times) Increment *3 to 32 (via the 0 in *2 and the 3 in *0)
(Note that *3 mod 256 is the character that prints)
0 Increment *32 (via the 3 in *0 and the 32 in *3)
3 Increment *1 (via the 32 in *3 and the 1 in *32)
(Note that printing is on when *1 mod 2 is 1,
which means " " prints right here)
2 (4 times) Increment *3 to 36 (printing '!"#$')
0 Increment *36 (via *3) (printing "$" again)
3 Increment *1 to 2 (via *36) (printing turns off)
0 Increment *36 to 2 (via *3)
1 Increment *0 to 4 (via *2)
The last two commands turn out to be sufficient to prevent 1 from ever being incremented again on subsequent passes through the program, which means nothing is ever again printed, though it will go on setting all memory addresses from *36 onward to the value 36 forever.