ひとつの解法をここに示します。 最初に前の問題の三角リストを計算し、 1 - をタイプして全ての要素から1を引きます。
1: [ [0], [0, 1], [0, 1, 2], ... 1 -
欲しいリストの左端の数値群は"三角数"(意味判るでしょう!)と呼ばれます。 n次の三角数は、1 から n までの整数の合計であって、 これは公式 n * (n+1) / 2 によって直接計算できます。
2: [ [0], [0, 1], ... ] 2: [ [0], [0, 1], ... ] 1: [0, 1, 2, 3, 4, 5] 1: [0, 1, 3, 6, 10, 15] . . v x 6 RET 1 - V M ' $ ($+1)/2 RET
このリストを、上記の「リストのリスト」に加えると欲しい結果が得られます。
1: [ [0], [1, 2], [3, 4, 5], [6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19, 20] ] . V M +
三角数を得る公式を知らなかった場合は、 V U + を使って計算することもできました。 また、 元の三角リストにまとめ作用をマッピングするという、 機械的な方法もあります。
2: [ [0], [0, 1], ... ] 2: [ [0], [0, 1], ... ] 1: [ [0], [0, 1], ... ] 1: [0, 1, 3, 6, 10, 15] . . RET V M V R +
(これは、「V R + コマンドをベクトル全体にマッピングせよ」という意味で、 かつ主ベクトルの各要素がそれ自体で小ベクトルなので、 V R + は小ベクトルの中の要素を合計します。)
Go to the first, previous, next, last section, table of contents.
利用度数