Nous savons tous ce qu'est un quine . Un quine inversé est un programme non vide qui imprime l'inverse de son code source sans lire son code source, et se compose uniquement de caractères ASCII imprimables (espace à travers ~
).
Ici, «inverse du code source» signifie ce qui suit: la sortie de votre programme doit contenir chaque caractère ASCII imprimable (m - c) fois, où c est le nombre de fois que ce caractère apparaît dans votre code, et m est le maximum nombre de fois qu'un caractère est répété dans votre code.
(En d'autres termes: votre code + votre sortie = permutation de m fois tout en ASCII imprimable.)
Par exemple, si votre programme est 12345
, alors m = 1 , et vous devez sortir toute permutation de cette chaîne:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Si votre programme est AAB
, alors m = 2 , et vous devez sortir toute permutation de:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
Notez qu'il y a deux A
s manquants et un manquant B
.
Bien qu'un programme qui contient tous les caractères ASCII imprimables et ne produise rien ne soit un quine inverse valide (satisfaisant m = 1 ), une telle réponse ne serait pas très compétitive, étant donné sa longueur.
Vous devez écrire un programme qui est un quine inversé, comme décrit dans le paragraphe ci-dessus. Comme il s'agit de code-golf , le programme le plus court en octets gagnera. Bonne chance!
duplicated for every repeated character in the source code
cela fait toute la différence dans le défi
11234512345
?
duplicated for every repeated character in the source code
signifie ou si la soumission est valide pour ce critère, parce que le PO n'a pas abordé tout à fait un quelques-unes des questions ici.