Вызов
Я недавно попал на 8-битные компьютеры и очарован работой их и других; таким образом, цель этого кода гольфа состоит в том, чтобы скопировать часть монитора Woz, разработанного Стивом Возняком для Apple I.
Вы должны сохранить массив из 22 шестнадцатеричных значений шириной в два байта (минимальное значение $ 10 , максимальное значение $ FF ), а затем взять n- количество входных данных. (Обычно два; для таких языков, как Brainfuck, может быть трудно).
Входные данные будут указывать, где в массиве начать печать и где остановиться; вход с определенным поведением будет иметь начальное значение меньше или равно конечному значению. Ваша программа должна быть способна печатать каждое шестнадцатеричное значение, включая введенные шестнадцатеричные числа, включая их.
Пример этого:
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
Теперь интересной частью этого упражнения является то, что вы можете использовать все, что хотите, чтобы проверить границы ввода пользователя. Вклады людей hello
и ваша программа имеет неопределенное поведение? Выходит без уведомления? Они оба действительны.
Единственные правила:
1. Вы должны включить значения 22 шестнадцатеричных значений как часть вашей программы перед ее запуском (не можете запрашивать ввод у пользователя).
2. Вывод шестнадцатеричных значений должен соответствовать точному формату:
00 FF 00 FF 00
концевые пробелы, табуляции или строки в порядке. Персонажи нет.
3. Программа не должна запрашивать ввод с сообщением. Оставьте "сообщение" пустым, если хотите. Однако пользователь должен ввести шестнадцатеричные границы.
4. Так как значения 22-х шестнадцатеричных кодов зависят от вас, вы должны создать программу, которая фактически извлекает значения из хранилища, в отличие от имитации программы, просто печатая значения. (например, список из $ 00 ).
5. n-количество входных данных относится к количеству входных данных, необходимых для того, чтобы выбранный вами язык распознал шестнадцатеричный код шириной в два байта. например. (Brainfuck потребует два входа на гекс, делая четыре на два).
Не стесняйтесь комментировать, если вам нужны разъяснения.
Это код гольф, поэтому самый короткий ответ по количеству байтов - победитель.
Leaderboard
Вот таблица лидеров, генерирующая сниппет от Мартина Эндера .
Чтобы убедиться, что ваш ответ обнаружен, начните его с заголовка, используя следующий шаблон уценки:
# Language Name, N bytes
где N
размер вашего представления. Если вы улучшите свой счет, вы можете сохранить старые результаты в заголовке, вычеркнув их. Например:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
потому что Brainfuck не может взять 2-символьную строку, вам нужно будет ввести первый байт, затем второй для первого значения, а затем сделать это снова для второго значения, всего 4 ввода. Их может быть сколько угодно.