Molte persone hanno familiarità con il triangolo di Pascal.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Il triangolo di Pascal è un automa in cui il valore di una cella è la somma delle celle in alto a sinistra e in alto a destra. Ora definiremo un triangolo simile. Invece di prendere solo le celle in alto a sinistra e in alto a destra, prenderemo tutte le celle lungo due linee infinite che si estendono in alto a sinistra e in alto a destra. Proprio come il triangolo di Pascal, iniziamo con un singolo 1imbottito all'infinito di zeri e costruiamo verso il basso da lì.
Ad esempio per calcolare la cella indicata con un x
1
1 1
2 2 2
4 5 5 4
x
Sommeremmo le seguenti celle
.
. .
2 . 2
. 5 5 .
x
Rendere la nostra nuova cellula 14.
Compito
Dato un numero di riga ( n ), e la distanza da sinistra ( r ) calcolare e uscita r th non nulla entrata da sinistra sul n ° fila. (l'equivalente sul triangolo di Pascal è nCr ). Si può presumere che r sia minore di n .
Questo è code-golf , l'obiettivo è ridurre al minimo il numero di byte nella soluzione.
Casi test
0,0 -> 1
1,0 -> 1
2,0 -> 2
4,2 -> 14
6,3 -> 106
Ecco le prime due file a forma di triangolo:
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