Sfida
Recentemente sono entrato nei computer a 8 bit e sono affascinato dal funzionamento di loro e di altri; quindi l'obiettivo di questo codice golf è replicare una parte del Woz Monitor, progettato da Steve Wozniak per Apple I.
Devi memorizzare un array di 22 valori esadecimali con una larghezza di due byte, (valore minimo $ 10 , valore massimo $ FF ), e quindi prendere n -ammontare di input. (Normalmente due; lingue come Brainfuck potrebbero avere difficoltà).
Gli input faranno riferimento a dove nell'array iniziare la stampa e dove fermarsi; un input con comportamento definito avrà il suo valore iniziale inferiore o uguale al valore finale. Il programma deve quindi essere in grado di stampare tutti i valori esadecimali compresi e compresi i valori esadecimali immessi.
Un esempio di questo:
Array
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15
Values
FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6 A5
input first num:
04
input second num:
14
40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6
Ora la parte interessante di questo esercizio è che puoi usare qualunque cosa tu voglia controllare i limiti dell'input degli utenti. Input di persona hello
e il tuo programma ha un comportamento indefinito? Si chiude senza preavviso? Sono entrambi validi.
Le uniche regole sono:
1. Prima di iniziare è necessario includere i valori dei 22 valori esadecimali come parte del programma (non è possibile richiedere input all'utente).
2. L'output dei valori esadecimali deve seguire il formato esatto: gli
00 FF 00 FF 00
spazi, le schede o le linee finali sono OK. I personaggi non lo sono.
3. Il programma non deve richiedere gli input con un messaggio. Lascia il "messaggio" vuoto se lo desideri. L'utente deve tuttavia inserire i limiti esadecimali.
4. Come per i valori dei 22 esadecimali che decidi tu, devi creare un programma che recuperi effettivamente i valori dalla memoria, invece di imitare un programma semplicemente stampando i valori. (come un elenco di $ 00 ).
5. n-quantità di input, si riferisce alla quantità di input richiesti per la lingua scelta per riconoscere un esadecimale di due byte di larghezza. per esempio. (Brainfuck richiederà due input per esagono, rendendolo quattro per i due).
Sentiti libero di commentare se hai bisogno di chiarimenti.
Questo è il codice golf, quindi la risposta più breve nel numero di byte è il vincitore.
Classifica
Ecco una classifica che genera frammenti per gentile concessione di Martin Ender .
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, utilizzando il seguente modello Markdown:
# Language Name, N bytes
dov'è N
la dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
Brainfuck non può contenere una stringa di 2 caratteri, è necessario inserire il primo byte, quindi il secondo per il primo valore e quindi ripetere l'operazione per il secondo valore, 4 ingressi in totale. Possono essere quanti ne desideri.