Ceci est un défi entre flics et voleurs . Le fil des voleurs peut être trouvé ici
Votre défi est d'écrire un programme qui génère une anagramme de son code source mais pas le code source original lui-même.
Par exemple, le programme Python suivant,
print`'print*2``'*2`
impressions
'print*2``print*2``'
qui a tous les mêmes caractères que sa source d'origine mais dans un ordre différent.
Une fois que vous avez trouvé un tel programme, incluez la sortie du programme comme réponse en omettant le programme qui le génère. Comme vous l'avez peut-être deviné, les voleurs chercheront à découvrir le programme que vous avez caché ou tout programme qui correspond aux spécifications. Votre objectif est de créer le programme le plus court que les voleurs ne puissent pas casser.
Règles
Comme avec la plupart des défis des flics et des voleurs , si votre réponse reste non fissurée pendant une semaine, vous pouvez ajouter la solution prévue à votre réponse et la marquer comme sûre . Une fois en sécurité, les voleurs ne peuvent répondre à une réponse.
Vous n'avez pas besoin d'inclure la langue de la solution envisagée, mais si vous n'incluez pas la langue, les voleurs peuvent la craquer dans n'importe quelle langue antérieure au défi, tandis que si vous spécifiez la langue, ils ne peuvent la craquer que dans celle fournie.
Les règles standard pour Quines s'appliquent.
la source
Réponses:
Brain-Flak , 231 octets fissuré par le blé Assistant
Le programme d'origine utilise l'
-A
argument.Voici les chiffres:
la source
Python 2, 96 octets, craqué par math_junkie
Sortie:
Jouez au golf pour la première fois! J'espère que ce n'est pas trop facile.
la source
print('')
,chr() + ''
jusqu'à présentHaskell, 107 octets, fissuré par nimi
Il existe une nouvelle ligne de fin supplémentaire.
Solution originale:
Essayez-le en ligne!
Mon idée principale était d'écrire un quine qui trie son propre code source avant de le sortir sans utiliser de
sort
fonction de bibliothèque . Ce n'est qu'après un premier essai de craquage par nimi que je me suis rendu compte que le code du programme pouvait être trié manuellement, codé en dur dans le programme, puis imprimé en doublant chaque lettre. Cependant, le nombre limité de personnages disponibles rend cette approche plus lourde et le crack réussi de nimi est assez similaire à mon programme d'origine.Explication:
la source
;
par un NL):i[]d=[d,d];main=print$i[]=<<"$$ ... |||"--
et tous les caractères manquants après le--
. J'ai trouvé cette version après ma réponse du fil des voleurs et après que vous ayez révélé votre réponse avec l'explication maintenant modifiée.Langauge non spécifié, 124 octets,
Dans le thème de la réponse de DJMcMayhem, il s'agit des 32 premiers caractères ASCII (à part
0x00
) imprimés quatre fois chacun. Puisqu'aucun de ceux-ci n'est visible, je n'ai pas inclus le code réel dans ma réponse.Voici l'hexdump:
Voici cependant du Python qui l'imprime (et une nouvelle ligne) si vous le souhaitez:
la source
Pyth , 32 octets, fissuré par math_junkie
Solution originale
Essayez-le en ligne!
la source
CJam, 46 octets, craqué par math_junkie
la source
V , 21 octets (sûr!)
Notez la nouvelle ligne principale.
Comme cela contient des non imprimables, voici un hexdump:
Pour aider les gens, voici un lien vers le quine V extensible standard
Voici la version originale:
Essayez-le en ligne!
La version lisible est:
La façon dont cela fonctionne consiste à incorporer le tri dans le quine extensible par défaut. En pensant aux V-quines à cause de cette réponse, j'ai réalisé que le quine extensible standard pouvait être raccourci de trois octets, donc cette solution aurait pu être:
Explication:
la source
Langue non spécifiée, 254 octets Cracké par @Dennis!
Je doute que cela gagnera pour la brièveté, mais ce sera pénible à craquer, donc ça vaut quand même le coup.
En raison d'un bug, l'ordre de
0x0b, 0x0c, 0x0a
s'est un peu mélangé, mais c'est certainement la vraie sortie.J'ai pensé que je ne spécifierais pas la langue juste pour pouvoir voir dans quelles langues différentes cela est possible. Puisque la sortie est principalement non-ASCII, voici un hexdump de la sortie:
C'est chaque caractère ASCII à l'exception de
0x00
et0x0D
parce qu'ils ont tous deux causé un comportement étrange sur TIO. Amusez-vous à craquer! >: DLe code d'origine était en V.
Essayez-le en ligne
Hexdump:
Fondamentalement, tout ce qui
S
vient d'insérer les ordures dans le tampon. Le0xEE
début est juste pour s'assurer que tout ce qui se passe après la nouvelle ligne ne se passe pas dans une boucle ou une macro. Ensuite, nous faisonsla source
Octave , 91 octets
la source
PHP, 130 octets (sûr)
Solution originale
Je ne pouvais pas comprendre que ce n'était pas fissuré
la source
Devinez, 43 octets
C'était un appel difficile de partager ou non de quelle langue il s'agissait, mais je pense que cette option est meilleure. Notez qu'il y a une nouvelle ligne de fin.
la source