Tantangan
Saya baru saja masuk ke komputer 8-bit dan terpesona dengan cara kerja mereka dan orang lain yang sama; dengan demikian tujuan golf kode ini, adalah untuk mereplikasi sebagian dari Woz Monitor, yang dirancang oleh Steve Wozniak untuk Apple I.
Anda harus menyimpan larik 22 nilai heksadesimal dengan lebar dua byte, (nilai min $ 10 , nilai maks $ FF ), dan kemudian menerima n- jumlah input. (Biasanya dua; bahasa seperti Brainfuck mungkin mengalami kesulitan).
Input akan merujuk ke mana dalam array untuk memulai pencetakan, dan ke mana harus berhenti; input dengan perilaku yang ditentukan akan memiliki nilai awal kurang atau sama dengan nilai akhir. Program Anda kemudian harus mampu mencetak setiap nilai heksadesimal antara, dan termasuk , heksadesimal yang dimasukkan.
Contoh dari ini:
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
Sekarang bagian yang menarik dari latihan ini, adalah Anda dapat menggunakan apa pun yang Anda inginkan untuk memeriksa batasan input pengguna. Masukan orang hello
dan program Anda memiliki perilaku yang tidak jelas? Itu berhenti tanpa pemberitahuan? Keduanya valid.
Satu-satunya aturan adalah:
1. Anda harus memasukkan nilai 22 nilai heksadesimal sebagai bagian dari program Anda sebelum dimulai, (tidak dapat meminta input dari pengguna).
2. Output dari nilai heksadesimal harus mengikuti format yang tepat:
00 FF 00 FF 00
Trailing spasi, tab atau garis OK. Karakter tidak.
3. Program tidak perlu meminta input dengan pesan. Biarkan "pesan" kosong jika Anda mau. Pengguna harus memasukkan hex-bounds.
4. Karena nilai-nilai dari 22 hexadecimal terserah Anda untuk memutuskan, Anda harus membuat program yang benar-benar mengambil nilai-nilai dari penyimpanan, berlawanan dengan meniru program dengan hanya mencetak nilai. (seperti daftar $ 00 ).
5. n-jumlah input, mengacu pada jumlah input yang diperlukan untuk bahasa pilihan Anda untuk mengenali heksadesimal dua byte-lebar. misalnya. (Brainfuck akan membutuhkan dua input per hex, membuatnya menjadi empat untuk keduanya).
Jangan ragu untuk berkomentar jika Anda membutuhkan klarifikasi.
Ini adalah kode golf, jadi jawaban tersingkat dalam jumlah byte adalah pemenangnya.
Papan peringkat
Berikut ini adalah papan peringkat yang menghasilkan milik Martin Ender .
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
karena Brainfuck tidak dapat mengambil string 2 karakter, Anda harus memasukkan byte pertama, kemudian yang kedua untuk nilai pertama, dan kemudian melakukannya lagi untuk nilai kedua, total 4 input. Namun mereka bisa sebanyak yang Anda suka.