Dans un langage de programmation de votre choix, écrivez 95 programmes, dont chacun génère un des 95 caractères ASCII imprimables différent, sans que ce caractère ne se trouve ailleurs dans le programme .
Par exemple, si votre langage était Python , votre programme qui sort le caractère P
peut être
print(chr(80))
car P
a le code ASCII 80. Ce programme est valide car P
n'apparaît jamais dans le code source. Cependant, pour le programme qui génère des minuscules p
, quelque chose comme
print(chr(112))
serait invalide car, même s’il est imprimé p
, il p
est présent dans le code. Un programme valide pourrait être
exec(chr(112)+'rint(chr(112))')
qui imprime p
mais ne contient pas p
.
Votre objectif est de faire en sorte que chacun de vos 95 programmes soit le plus court possible. Votre score est la somme des longueurs de caractères de tous vos programmes.
Si, pour une raison quelconque, vous ne parvenez pas à écrire des programmes valides pour certains caractères, vous pouvez les marquer comme "n’a pas programmé" ou DNP et omettre totalement les programmes correspondants. De cette façon, les langages syntaxiquement stricts pourront se faire concurrence.
La réponse gagnante est la réponse qui a le score le plus bas de l'ensemble des réponses ayant le moins de DNP.
Règles
Le code source de tous vos programmes ne peut contenir que des onglets ASCII plus imprimables et des nouvelles lignes, qui sont tous comptés comme un seul caractère. (Parce que dans un encodage différent, il serait facile d'omettre des caractères qui n'existent pas!)
- Remarque: cette règle semble nécessaire, mais il existe de nombreuses langues avec différents encodages et je suis sûr que ce serait bien de voir les réponses à leurs questions. Par conséquent, vous pouvez enfreindre cette règle , utiliser les caractères de votre choix, mais si votre réponse devient non compétitive , elle ne peut gagner.
Les programmes doivent être réels, pleins programmes , selon les conventions standard de votre langue. Les extraits de fonction et les extraits REPL ne sont pas autorisés.
La sortie de chaque programme doit aller sur stdout ou l'alternative acceptée par votre langue.
Les programmes ne doivent pas demander ni avoir besoin d'une contribution. (Si l'invitation à entrer est inhérente à votre langue, c'est bon.)
Les programmes doivent être déterministes, limités dans le temps d'exécution et indépendants. Par exemple, il ne devrait pas avoir d'importance si l'un est exécuté dans un dossier séparé des autres programmes.
La sortie d'un programme doit être le caractère ASCII imprimable précis auquel il correspond, suivi facultativement par un retour à la ligne simple, rien de plus, rien de moins.
Veillez à inclure des informations sur les 95 programmes (idéalement) dans votre réponse, ainsi que votre score et tout DNP. Vous ne devez pas énumérer tous les programmes qui suivent un modèle simple comme « , ... » mais assurez - vous que vous êtes sûr tous ne fonctionne et que votre score est ajouté correctement.print(chr(80))
print(chr(81))
print(chr(82))
Pour référence, voici les 95 fichiers ASCII imprimables que vos programmes doivent générer:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0