Dans une grille, on souhaite compter tous les chemins allant de \((0, 0)\) à \((2n, 0)\), en restant au-dessus ou sur l'axe des abscisses, et avec les mouvements possibles suivants :
Nord-Est (↗), donc suivi plus tard d'un Sud-Est (↘)
Sud-Est (↘), qui est donc précédé d'un Nord-Est (↗) correspondant
Deux fois de suite à l'Est (→→)
Chaque paire (↗, ↘) est associée à un déplacement de deux unités vers l'Est. Ainsi, un chemin de Schröder fait globalement un déplacement horizontal d'un nombre pair d'unités, que l'on note \(2n\).
Objectif : Écrire une fonction telle que schroder(n) renvoie le nombre de chemins de Schröder allant de \((0, 0)\) à \((2n, 0)\).
Chemins de Schröder de longueur \(2×2\)
Il y en a 6.
Chemins de Schröder de longueur \(2×3\)
Il y en a 22.
Formule
On admettra qu'une relation pour calculer ces nombres \(S_n\) est :
\(S_0 = 1\), \(S_1 = 2\)
\((n+1)S_n = (6n-3)S_{n-1} - (n-2)S_{n-2}\), pour \(n>1\).
# Tests
(insensible à la casse)(Ctrl+I)