Die meisten Leute kennen Pascals Dreieck.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Pascals Dreieck ist ein Automat, bei dem der Wert einer Zelle die Summe der Zellen links oben und rechts oben ist. Jetzt definieren wir ein ähnliches Dreieck. Anstatt nur die Zellen nach links oben und rechts oben zu nehmen, nehmen wir alle Zellen entlang zweier unendlicher Linien, die sich nach links oben und rechts oben erstrecken. Genau wie Pascals Dreieck beginnen wir mit einer einzelnen 1Zahl, die unendlich mit Nullen aufgefüllt ist, und bauen von dort abwärts.
Zum Beispiel, um die mit einem gekennzeichnete Zelle zu berechnen x
1
1 1
2 2 2
4 5 5 4
x
Wir würden die folgenden Zellen summieren
.
. .
2 . 2
. 5 5 .
x
Machen Sie unsere neue Zelle 14.
Aufgabe
Wenn eine Zeilennummer ( n ) und ein Abstand von links ( r ) gegeben sind, wird der r- te Eintrag ungleich Null von links in der n- ten Zeile berechnet und ausgegeben . (das Äquivalent zu Pascals Dreieck ist nCr ). Sie können annehmen, dass r kleiner als n ist .
Dies ist Code-Golf . Ziel ist es, die Anzahl der Bytes in Ihrer Lösung zu minimieren.
Testfälle
0,0 -> 1
1,0 -> 1
2,0 -> 2
4,2 -> 14
6,3 -> 106
Hier sind die ersten paar Zeilen in Dreiecksform:
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