チャレンジ
私は最近、8ビットのコンピューターを手に入れて、それらの機能や他の機能に魅了されています。したがって、このコードゴルフの目的は、Apple Iのためにスティーブウォズニアックによって設計されたウォズモニターの一部を複製することです。
2バイト幅の22個の16進値の配列(最小値$ 10、最大値$ FF)を保存し、n個の入力量を取得します。(通常2つ。Brainfuckのような言語は苦労するかもしれません)。
入力は、配列のどこから印刷を開始し、どこで停止するかを参照します。動作が定義された入力の開始値は、終了値以下になります。プログラムは次に間のすべての16進数値を印刷することができなければならないとを含む、進数を入力しました。
この例:
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個の16進値の値を含める必要があります(ユーザーに入力を求めることはできません)。
2. 16進値の出力は、正確な形式に従う必要があります。
00 FF 00 FF 00
末尾のスペース、タブ、または行はOKです。文字はそうではありません。
3.プログラムは、メッセージで入力を要求する必要はありません。必要に応じて、「メッセージ」を空白のままにします。ただし、ユーザーは16進境界を入力する必要があります。
4. 22個の16進数の値は決定するのと同じであるため、値を印刷するだけでプログラムを模倣するのではなく、ストレージから実際に値をフェッチするプログラムを作成する必要があります。($ 00のリストなど)。
5。 入力のn量は、選択した言語が2バイト幅の16進数を認識するために必要な入力の量を指します。例えば。(Brainfuckは、ヘックスごとに2つの入力を必要とし、2つに対して4つになります)
説明が必要な場合は、お気軽にコメントしてください。
これはコードゴルフであるため、バイト数の最も短い答えが勝者です。
リーダーボード
以下は、Martin Enderの好意によるスニペットを生成するリーダーボードです。
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
# Language Name, N bytes
N
提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
Brainfuckは、2文字の文字列に取ることができないので、あなたが入力する最初のバイト、最初の値の2番目を必要とし、その後、第二の値、合計で4つの入力のために再びそれを行うだろう。ただし、好きなだけ多くできます。