挑战
最近,我进入了8位计算机,并对它们以及其他方法的工作着迷。因此,此代码高尔夫的目标是复制由Steve Wozniak为Apple I设计的Woz Monitor的一部分。
您将存储一个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每十六进制将需要两个输入,因此两个必须为四个)。
如果需要澄清,请随时发表评论。
这是代码高尔夫球,所以最短的答案是字节数。
排行榜
这是Martin Ender提供的摘要的排行榜。
为确保您的答案显示出来,请使用以下Markdown模板以标题开头。
# Language Name, N bytes
N
您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
因为Brainfuck不能输入2个字符串,所以您需要输入第一个字节,然后输入第二个字节作为第一个值,然后再次输入第二个字节,总共输入4个。它们可以是任意数量的。