TIS-100

Signal Window Filter。直近の3個の入力の総和および直近の5個の入力の総和を出力せよ、というお題。
とっかかりすらつかめなかったがフォーラムでヒントを見つけた。

「入力を3個複製し、1遅延させたものと2遅延させたものを作る」

つまり、入力が 1 だったら、

  • 入力を3個に複製: 1, 1, 1
  • 1遅延させたもの: 1, 0, 1 → 次の入力, 1, 次の入力
  • 2遅延させたもの: 1, 0, 0 → 次の入力, 1, 0 → 次の次の入力, 次の入力, 1

ということらしい。3個に複製した入力ラインを毎回足し算すれば、直近の3個の総和が取れる。