La plupart des gens connaissent le triangle de Pascal.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Le triangle de Pascal est un automate où la valeur d'une cellule est la somme des cellules en haut à gauche et en haut à droite. Maintenant, nous allons définir un triangle similaire. Au lieu de simplement prendre les cellules en haut à gauche et en haut à droite, nous allons prendre toutes les cellules le long de deux lignes infinies s'étendant en haut à gauche et en haut à droite. Tout comme le triangle de Pascal, nous commençons par un simple 1rembourré à l'infini par des zéros et nous construisons vers le bas à partir de là.
Par exemple, pour calculer la cellule indiquée par un x
1
1 1
2 2 2
4 5 5 4
x
Nous résumerions les cellules suivantes
.
. .
2 . 2
. 5 5 .
x
Faire notre nouvelle cellule 14.
Tâche
Étant donné un numéro de ligne ( n ) et une distance à gauche ( r ), calculez et sortez la r e entrée non nulle à partir de la gauche sur la n e ligne. (l'équivalent sur le triangle de Pascal est nCr ). Vous pouvez supposer que r est inférieur à n .
Il s'agit de code-golf , l'objectif est de minimiser le nombre d'octets dans votre solution.
Cas de test
0,0 -> 1
1,0 -> 1
2,0 -> 2
4,2 -> 14
6,3 -> 106
Voici les deux premières lignes sous forme de triangle:
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