Sfida
Scrivi un programma / funzione non vuoto pche, data una stringa di input non vuota s, genera la posizione della prima occorrenza di ciascun carattere snel codice sorgente di p.
Ad esempio, se il tuo programma lo è
main() { cout << magic << cin }
^0 ^5 ^10 ^15 ^20 ^25
e riceve un input abcd{, l'output dovrebbe essere
[1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based)
Qui, xrappresenta qualsiasi output che non è un'uscita valida per una posizione di carattere (ad esempio, un numero negativo, 0se si utilizza l'indicizzazione in base 1, NaN, Inf, la stringa potato, un numero maggiore della lunghezza del tuo programma, ecc).
restrizioni
La lettura del codice sorgente non è consentita (come in un vero quine). L'uso dei commenti è consentito, ma conta per il tuo punteggio.
L'input e l'output possono essere fatti in un formato ragionevole, ma devono essere inequivocabili (solo delimitatori aggiuntivi, nessun randflusso e affermando che la risposta è da qualche parte lì dentro), coerenti (ad esempio, il xprecedente dovrebbe sempre avere lo stesso valore) e umano- leggibile ; ad esempio, una stringa o una matrice di caratteri. Si può presumere che l'input sia una stringa (o matrice) di caratteri ASCII stampabili; non è necessario gestire l'intero set Unicode.
Codepage personalizzata o ascii non stampabili nel tuo codice?
Se la tua lingua utilizza una tabella codici personalizzata (Jelly, APL, ecc.), Devi tenerne conto (quindi un programma €æÆdeve generare [1, x, 2]un input €%æ). L'uso di soli caratteri non ASCII per l'output -1sempre (poiché l'input è solo ASCII) non è una soluzione valida. Puoi presumere che il tuo programma accetti nativamente la tua codepage personalizzata, cioè se il tuo programma ha un metodo per convertire un carattere Ain un intero 65(codifica ASCII), puoi supporre che ora converta il 65 ° carattere nella tua codepage 65.
Ispirato alla seguente sfida: consapevolezza della posizione
01030708070?