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 Ppotrebbe essere
print(chr(80))
perché Pha il codice ASCII 80. Questo programma è valido perché Pnon 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 pma 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