Drucken aufsteigend ASCII, Räuber

13

Das ist der Räuberfaden. Der Faden der Bullen geht hier .

Im Cops-Thread bestand die Aufgabe darin, ein Programm zu erstellen, das druckbare ASCII-Zeichen in aufsteigender Reihenfolge ausgibt. Die Aufgabe der Räuber besteht darin, den Code zu entschlüsseln, mit dem die Polizei diese Ausgabe erstellt hat.

Der geknackte Code muss nicht identisch sein, solange er dieselbe Länge hat und sich alle offenbarten Zeichen an den richtigen Positionen befinden. Die Sprache muss auch gleich sein (Versionsnummern können unterschiedlich sein). Die Ausgabe muss natürlich identisch sein. Cops können keine Kommentare in ihrem Code verwenden, Räuber können sie jedoch verwenden.

Der Gewinner des Räuber-Threads ist der Benutzer, der bis zum 7. Januar 2016 die meisten Beiträge geknackt hat. Bei einem Unentschieden gewinnt der Benutzer, der Beiträge mit dem längsten kombinierten Code geknackt hat.

Die Einreichung sollte folgendermaßen formatiert sein:

Sprache, nn Zeichen (einschließlich Link zur Antwort), Cop's Benutzername

Code:

alphaprinter

Ausgabe

abcdefghijklmnopqrstuvwxyz

Optionale Erklärung und Kommentare.

Bestenliste:

Ein vernichtender Sieg von Adnan !

Adnan: 7
Pietu1998: 3
Mitch Schwartz: 2
Quintopia: 2
Martin Büttner: 2
cat: 1
Dennis: 1
insertusernamehere: 1
isaacg: 1
jimmy23013: 1
MegaTom: 1
plannapus: 1
user81655: 1
Stewie Griffin
quelle

Antworten:

7

Python 2, 76 Zeichen, wnnmaw

Code, mit verschleierter Version unten:

print "BKT]f"#__h______________________v_____________,___)_________)_______)
print __________h______________________v_____________,___)_________)_______)

Dies gibt aus BKT]f. Nicht die beabsichtigte Version, das ist sicher haha.

getestet hier

Adnan
quelle
1
Hinterhältige Kommentare :)
wnnmaw
1
Das bringt Ihnen bei, ein Programm zu veröffentlichen, dessen Ausgabe kürzer ist als die Länge des Programms in einer Sprache, printdie Zeichen an genau den Stellen enthüllt hat, an denen sich die Zeichenfolge befinden müsste.
Quintopia
7

Brainfuck, 48 Bytes, Adnan

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

Ziemlich unkompliziert, 64 und dann 26. Es könnte ein kleiner roter Hering sein

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

ist ein Weg, 65 zu werden, also könnten Sie versuchen, so etwas zu tun

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

bevor ich merke, dass es eine Sackgasse ist.

Mitch Schwartz
quelle
Ahhh, gut gemacht :)
Adnan
4

JavaScript (ES6), 17 Zeichen, Neil

Da das OP eine Funktion gepostet hat, ist hier eine Lösung mit einer Funktion:

()=>xxx=11000+233
__=____=_________

Die anonyme Funktion kann folgendermaßen aufgerufen werden:

(()=>xxx=11000+233)();

Eine lächerlichere Lösung, die ich zuerst hatte:

xx=yyyy=z=11230+3
__=____=_________

Beim Ausführen in der Konsole wird die Nummer gedruckt 11233.

insertusernamehere
quelle
2
Ninja hat mich. Ich bekamfx=asdf=> "11233"
Conor O'Brien
@ CᴏɴᴏʀO'Bʀɪᴇɴ Dachte, ich musste bei diesem schnell sein. : D
insertusernamehere
1
Ein großes Lob an Ihre schnellste Waffe im Westen. +1
Conor O'Brien
-1 für keine Zeichenfolgen: P
ev3commander
1
Die Version von @ CᴏɴᴏʀO'Bʀɪᴇɴ scheint die einzige zu sein, die eine Funktion ist, die einen String zurückgibt.
Neil
4

PHP, 28 Zeichen, Niet the Dark Absol

Ich habe mehrere Versionen für diese Aufgabe gefunden:

Originalfassung:

<?=@implode(range('a','z'));

Meine Version:

<?=join('',range('a', 'z'));

23 Zeichen Version:

<?=join('',range(a,z));

26 Zeichen Version:

<?=implode('',range(a,z));

Natürlich können Sie auch mehrere Leerzeichen einfügen, um die 28-Zeichen-Marke zu erreichen.

getestet hier

Adnan
quelle
Verdammt, du hast mich geschlagen: P Das kürzeste, was ich tun kann:<?=join(range(a,z));
LegionMammal978
Du hast mich - vielleicht sollte ich es , indem sie einen der Buchstaben eines Funktionsnamens restriktiver gemacht haben wie die Charaktere enthüllt ... Wie auch immer, für die Aufzeichnung, hier ist das Original:<?=@implode(range('a','z'));
Niet the Dark Absol
4

Jolf, 27 Zeichen, Cᴏɴᴏʀ O'Bʀɪᴇɴ

Nach ein paar Stunden Versuch und Irrtum habe ich es verstanden, haha:

on-pl'u'Wa-n"vwxyz"`--'01_2

Einschließlich verschleierten Codes:

on-pl'u'Wa-n"vwxyz"`--'01_2
________W___________--_____
                         |

Probieren Sie es hier aus ( Step-Run scheint der einzige zu sein, der mit Alert arbeitet)


Erläuterung

Das erste, woran ich festhielt, war die Platzierung der while-Schleife. Ich schien es nicht am richtigen Ort zu bekommen, haha. Nachdem ich es richtig gemacht hatte, bemerkte ich als zweites die Platzierung des Unterstrichs. Ich dachte, ich hätte es fast geschafft, bis ich auf dem Unterstrich feststeckte (gg Cᴏɴᴏʀ O'Bʀɪᴇɴ).

Hier ist eine vollständige Erklärung des Codes:

on-pl'u'Wa-n"vwxyz"`--'01_2

o                           # assign
 n                          # n / standard variable
   pl                       # pl = "abcdefghijklmnopqrstuvwxyz"
  -  'u                     # pl - "u" = "abcdefghijklmnopqrstvwxyz"
       'W                   # a string in the middle doing nothing
          -n"vwxyz"         # n - "vwxyz"
         a                  # alert(
                   `        # is an extra semicolon
                     -'01   # "0" - 1
                    -    _2 # ("0" - 1) - negative 2

Im Pseudocode:

n = minus("abcdefghijklmnopqrstuvwxyz", "u");
"W";
alert(minus(n,"vwxyz"));
;
minus(minus("0", 1), negative(2));

Ich bin gespannt, was die eigentliche Lösung war :)

Adnan
quelle
1
Heilige Mutter Gottes, nicht das, was ich beabsichtigt hatte, aber trotzdem eine gute Arbeit! Ich habe den tatsächlichen Code auf meiner Antwort gepostet.
Conor O'Brien
4

R, 60 Bytes, Faxgerät

Code:

cat(c(0:9,LETTERS[1:8],LETTERS[20:26],letters[4:23]),sep="")

Ausgabe:

0123456789ABCDEFGHTUVWXYZdefghijklmnopqrstuvw
Plannapus
quelle
4

Python 3, 58 Bytes, Mathias Ettinger

import string;print(''.join(sorted(string.printable))[5:])

Grundlegende Verwendung des String- Moduls.

Mitch Schwartz
quelle
Ich habe nicht gesehen, dass du das vor mir geknackt hast. Ich habe versucht, es zu verwenden string, habe aber nicht daran gedacht sorted(weil ich vergessen habe, dass es existiert). Ich weiß nicht, ob ich mein Crack-Up lassen soll, da es bei weitem nicht die gleiche Methode ist, aber es funktioniert.
Katze
2
@cat Ich weiß nicht, was Stewie Griffins Meinung dazu ist, aber trotzdem habe ich dir +1 gegeben und denke, es ist sinnvoll, deine Antwort auf dem Laufenden zu halten, da es nicht die gleiche Antwort ist wie meine.
Mitch Schwartz
4

05AB1E, 13 Zeichen, Adnan

Code (und ausgeblendeter Code):

1TD*<F3<*}bRJ
__D____<_____

Ausgabe:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001

Erläuterung:

1                       Push 1
 TD*<                   Push 99
     F   }              For loop
      3<*               multiply top of stack by 3-1 (e.g. double it)
          b             convert to list of binary digits (note we have just computed 2^99)
           R            reverse it
            J           join it into a string.
                        (top of stack implicitly printed)
Quintopie
quelle
Woooww !! Erstaunliche Arbeit :)
Adnan
3

JavaScript, 83 Zeichen, BlockCoder1392

a=aaaaraaaa=uaaaa=aasaa=console;b=0;a.log("Hi~~~");auaaaaaaaAaaaaaaaa =aeaaaa="^~^"

Ein bisschen zu viele Zeichen für eine so kurze Zeichenfolge.

Martin Ender
quelle
3

JavaScript (ES6), 60 Zeichen, hier Benutzernamen einfügen

Code:

e=e=>{try{a}catch(e){return[...e.toString()].sort().join``}}
e_e_______a__a____e___e________e__o___________o______o______

Ausgabe (in Chrome):

    :ERacddeeeeeeffiinnnoorrrrst

Ich wusste das sofort, weil ich das Gleiche tun wollte! xD

user81655
quelle
Nizza ein - Charakter für Charakter. : D
insertusernamehere
1
@insertusernamehere Du hättest [...e+'']es etwas kürzer machen können. Das hat mich am Anfang umgehauen. ;)
user81655
Was macht return[...e.toString()]eigentlich? Ich kenne nur ein kleines JS ...
Katze
3
@cat Es wird einfach jeder Buchstabe der Fehlermeldung in ein Array geschrieben. Dies ist erforderlich, da sortnur Arrays bearbeitet werden können, keine Strings.
User81655
3

Pyth, 6 Zeichen, Adnan

Code (mit ausgeblendetem Code):

S`.n 3
S_____

Ausgabe

.0113345678888999

Probieren Sie es online aus.

Es ist die Darstellung von φ, sortiert. Dies könnte in 5 geschehen sein, wenn Sie das Leerzeichen entfernen.

PurkkaKoodari
quelle
Oh, ich habe die Backticks vergessen: p. Mein ursprünglicher Code warS+.n3"
Adnan
3

Malbolge, 254 Zeichen, Frederick

Verschleierte Version:

_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ __

Meine Version:

('&%: ^"!65 4Xzyx w4-Qs rpo'K mlk"' ~Dfdc ba}v< ::8[Z XnVlq }0/mO ,*MbK JH^6# 4`C|0 ?U=Sw uPsaq L4on2 Mjjh, ged)c '<$$p ]!};Y WiVxS eRQ>= ).K]l Ij"Fh gfedc b,=;z L\q%H X3E2C /ng-k N*KJI 8%6#D ~2^Ai >g<<d tUr`6 oJ"!1 /|{CU f)d>b <A_^! \};Yj yUxTS dtsr` ML

Dies wird Folgendes ausgeben:

`AB\cd`

Sie können es hier ausprobieren .

Adnan
quelle
2

Befunge, 11 Zeichen, Histokrat

Code:

89'**'z...@

Ausgabe:

1223788

Das hat Spaß gemacht. Dies ist eine alternative Lösung, die ich auch gefunden habe:

8]..@#37.z'
MegaTom
quelle
Oh, coole, funge-98-Lösungen.
Histokrat
2

05AB1E, 7 Zeichen Adnan

Code und ausgeblendeter Code:

576T*uH
___T___

Ausgabe:

22368

Erläuterung:

576       Push this number.
   T      Push ten.
    *     Multiply. (5760)
     u    Convert to string.
      H   Interpret as a hex number and push decimal (22368) (implicit output).

Ich war mir fast sicher, dass dies nicht das ursprüngliche Programm war, aber ich danke Adnan für die Bereitstellung der einen Information, die dies ermöglichte (der uBefehl).

Quintopie
quelle
Ich denke das war das ursprüngliche Programm haha. Gut gemacht :)
Adnan
2

Diese Antwort ist ungültig und sollte nicht auf meine Punktzahl angerechnet werden (nicht, dass ich sowieso annähernd gewinnen würde), da ich nicht gesehen habe, dass sie bereits geknackt wurde.

Python 3, 58 Zeichen, Mathias Ettinger

Code, mit Originalcode unten:

x=range(95);  print(''.join((chr(i+32) for i in x  )    ))
______________print(_______(_______________________)_____)

Offensichtlich nicht die beabsichtigte Lösung, die war:

import string;print(''.join(sorted(string.printable))[5:])

Ausgabe:

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

(Beachten Sie das führende Leerzeichen.)

Es hat Spaß gemacht zu knacken: Es dauerte eine Weile, bis ich herausgefunden hatte, wie ich genexpres richtig zum Laufen brachte. :)

Katze
quelle
1

Pyth, 17 Zeichen, Luke

Code (mit ausgeblendetem Code):

S`u]G6*T`t"#X0231
___________#____1

Ausgabe:

""''''''''''''''''''''0000000000111111111122222222223333333333XXXXXXXXXX[[[[[[]]]]]]

Probieren Sie es online aus.

Das hat Spaß gemacht. Ich habe es mehrmals auf 18 Bytes gebracht, indem #ich als Filteroperator verwendet habe, aber dann habe ich herausgefunden, dass ich es einfach aus der Zeichenfolge entfernen kann. Wenn Sie das tund entfernen, ist das #Ergebnis wahrscheinlich der kürzeste Pyth-Code für diese Ausgabe.

Grundsätzlich:

  • "#X0231 macht die Zeichenfolge #X0231
  • t"#X0231entfernt das #:X0231
  • `t"#X0231 Ruft die Zeichenfolgendarstellung ab: 'X0231'
  • *T`t"#X0231multipliziert es mit 10: 'X0231''X0231''X0231'
  • u]G6*T`t"#X0231 Wickelt es 6 Mal in ein Array
  • `u]G6*T`t"#X0231erhält die Stringdarstellung: [[[[[['X0231''X0231']]]]]]
  • S`u]G6*T`t"#X0231 sortiert es, um die Ausgabe zu erhalten
PurkkaKoodari
quelle
Sehr schön! Und ziemlich anders als das, was ich getan hatte.
Luke
0

Perl 5, 30 Zeichen, msh210

Verschleierte + meine Version:

print_________________________
print "9:;\@AFGHLMNRSTYZ_`a"  

Dies wird Folgendes ausgeben:

9:;@AFGHLMNRSTYZ_`a

getestet hier

Adnan
quelle
0

Python 2, 62 Zeichen, RikerW

Verschleierte Version:

______________________________________________________________
         | |   ||                  |  |  ||

Meine Version:

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

Dadurch werden einfach alle Unterstriche und Ausgaben entfernt abcde.

Versuchte es hier

Adnan
quelle