In un linguaggio di programmazione a tua scelta, scrivi 95 programmi, ognuno dei quali genera uno diverso dei 95 caratteri ASCII stampabili senza che quel carattere si presenti in nessun punto del programma .
Ad esempio, se la tua lingua era Python , il tuo programma che emette il personaggio P
potrebbe essere
print(chr(80))
perché P
ha il codice ASCII 80. Questo programma è valido perché P
non appare mai nel codice sorgente. Tuttavia, per il programma che genera lettere minuscole p
, qualcosa del genere
print(chr(112))
sarebbe non valido perché, mentre stampa p
, p
è presente nel codice. Un programma valido potrebbe essere
exec(chr(112)+'rint(chr(112))')
che stampa p
ma non contiene p
.
Il tuo obiettivo è rendere ciascuno dei tuoi 95 programmi il più breve possibile. Il tuo punteggio è la somma delle lunghezze dei caratteri di tutti i tuoi programmi.
Se per qualsiasi motivo non si è in grado di scrivere programmi validi per alcuni caratteri, è possibile contrassegnarli come "Non programmati" o DNP e ometterli completamente. In questo modo le lingue sintatticamente rigorose saranno in grado di competere.
La risposta vincente è la risposta che ha il punteggio più basso del set di risposte che hanno il minor numero di DNP.
Regole
Il codice sorgente di tutti i tuoi programmi può contenere solo schede ASCII plus stampabili e nuove righe, tutte contate come un carattere. (Perché con una codifica diversa sarebbe facile omettere caratteri che non esistono!)
- Nota: questa regola sembra necessaria ma ci sono molte lingue con codifiche diverse e sono sicuro che sarebbe bello vedere le risposte per loro. Quindi puoi infrangere questa regola , puoi usare qualunque personaggio tu voglia, ma poi la tua risposta diventa non competitiva , non può vincere.
I programmi devono essere effettivi, programmi completi , secondo le convenzioni standard della tua lingua. Le funzioni e gli snippet REPL non sono consentiti.
L'output di ogni programma dovrebbe andare su stdout o l'alternativa accettata nella tua lingua.
I programmi non devono richiedere o richiedere input. (Se la richiesta di input è inerente alla tua lingua, va bene.)
I programmi dovrebbero essere deterministici, limitati in fase di esecuzione e indipendenti. ad esempio, non dovrebbe importare se uno viene eseguito in una cartella separata dagli altri programmi.
L'output di un programma dovrebbe essere il preciso carattere ASCII stampabile a cui corrisponde, facoltativamente seguito da una nuova riga finale, niente di più, niente di meno.
Assicurati di includere informazioni su tutti i 95 programmi (idealmente) nella tua risposta, così come il tuo punteggio e tutti i DNP. Non è necessario elencare tutti i programmi che seguono uno schema semplice come " , ...", ma assicuratevi sei sicuro che tutti avrebbero lavorare e che il punteggio viene aggiunta correttamente.print(chr(80))
print(chr(81))
print(chr(82))
Per riferimento, ecco le 95 ASCII stampabili che i tuoi programmi devono produrre:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0