Wir alle wissen, was eine Quine ist. Ein invertiertes Quine ist ein nicht leeres Programm, das die Umkehrung seines Quellcodes druckt, ohne seinen Quellcode zu lesen. Es besteht ausschließlich aus druckbaren ASCII-Zeichen (Leerzeichen durch ~
).
Hier bedeutet "Inverse des Quellcodes" Folgendes: Die Ausgabe Ihres Programms muss jedes druckbare ASCII-Zeichen (m - c) mal enthalten, wobei c die Häufigkeit ist, mit der das Zeichen in Ihrem Code vorkommt, und m das Maximum ist Häufigkeit, mit der ein Zeichen in Ihrem Code wiederholt wird.
(Mit anderen Worten: Ihr Code + Ihre Ausgabe = Permutation von m mal allen druckbaren ASCII.)
Zum Beispiel, wenn Ihr Programm ist 12345
, dann m = 1 , und Sie ausgeben sollte jede Permutation dieser Zeichenfolge:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Wenn Ihr Programm ist AAB
, dann ist m = 2 , und Sie sollten eine beliebige Permutation von:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
Beachten Sie, wie zwei A
und eines fehlen B
.
Obwohl ein Programm, das alle druckbaren ASCII-Zeichen enthält und nichts ausgibt, eine gültige inverse Quine ist (die m = 1 erfüllt ), wäre eine solche Antwort angesichts ihrer Länge nicht sehr wettbewerbsfähig.
Sie müssen ein Programm schreiben, das eine invertierte Quine ist, wie im obigen Absatz beschrieben. Da dies Code-Golf ist , gewinnt das kürzeste Programm in Bytes. Viel Glück!
duplicated for every repeated character in the source code
es den Unterschied in der Herausforderung ausmacht
11234512345
?
duplicated for every repeated character in the source code
bedeutet oder ob die Einreichung für dieses Kriterium gültig ist, da das OP nicht ganz auf ein Problem eingegangen ist Einige der Fragen hier.