ほとんどの人はパスカルの三角形に精通しています。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
パスカルの三角形は、セルの値が左上と右上のセルの合計であるオートマトンです。次に、同様の三角形を定義します。セルを左上と右上に移動する代わりに、左上と右上に伸びる2つの無限の線に沿ってすべてのセルを移動します。パスカルの三角形のように1、ゼロで無限にパディングされた単一のものから始めて、そこから下に向かってビルドします。
たとえば、で示されるセルを計算するには x
1
1 1
2 2 2
4 5 5 4
x
次のセルを合計します
.
. .
2 . 2
. 5 5 .
x
新しいセルを作成します14。
仕事
行番号(n)と左からの距離(r)を指定して、n番目の行の左からr番目の非ゼロエントリを計算して出力します。(パスカルの三角形に相当するものはnCrです)。rはnより小さいと仮定できます。
これはcode-golfであり、目標はソリューションのバイト数を最小限にすることです。
テストケース
0,0 -> 1
1,0 -> 1
2,0 -> 2
4,2 -> 14
6,3 -> 106
三角形形式の最初の数行は次のとおりです。
1
1 1
2 2 2
4 5 5 4
8 12 14 12 8
16 28 37 37 28 16
32 64 94 106 94 64 32
64 144 232 289 289 232 144 64
128 320 560 760 838 760 560 320 128
5
OEIS A035002
—
漏れ修道女
提出物は代わりに1ベースのインデックス作成を使用できますか?
—
クリティキシリソス
@KritixiLithos確かに。しかし、それは私を悲しませます。
—
ポストロックガーフハンター