大多数人都熟悉Pascal的三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
帕斯卡(Pascal)的三角形是一个自动机,其中单元格的值是左上角和右上角的单元格之和。现在我们将定义一个相似的三角形。不仅将单元格带到左上角和右上角,我们还将沿延伸到左上角和右上角的两条无限线来获取所有单元格。就像Pascal的三角形一样,我们从一个1零开始无限填充,然后从那里向下构建。
例如,计算用 x
1
1 1
2 2 2
4 5 5 4
x
我们将对以下单元格求和
.
. .
2 . 2
. 5 5 .
x
制作我们的新细胞14。
任务
给定一个行号(n),然后计算距左数(r)的距离,并在第n行上从左数计算第r个非零项。(在Pascal三角形上的等效值为nCr)。您可以假设r小于n。
这是代码高尔夫球场,我们的目标是尽量减少解决方案中的字节数。
测试用例
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
—
Leaky Nun
我们的提交可以改用基于1的索引吗?
—
Kritixi Lithos'7
@KritixiLithos当然。不过这会让我难过。
—
发布Rock Garf Hunter'7