Ca n'a rien à voir avec un algorithme. Tout ce dont on a besoin, c'est de renifler par des moyens plus ou moins conventionnels la formule générale, puis de la démontrer par récurrence.
Si on regarde les petits valeurs que Yaggo a justement calculé :
1->1
2->2
3->3
4->5
5->8
6->13
Effectivement, la suite de Fibo saute aux yeux, on va donc montrer que U_n+2=U_n+1+U_n avec U_n le nombre de possibilités pour n marches.
Finalement, on oublie la réccurence pour ce cas particulier : on va simplement considérer un escalier possédant n+2 marches. On a alors deux cas : soit on arrive tout en haut en gravissant une marche, soit on arrive tout en haut en gravissant 2 marches. Si c'est le premier cas, on a avant gravi n+1 marches, ce qu'on a pu faire de U_n+1 manières distinctes, et si c'est le second cas, on a gravi n marches, donc U_n manières distinctes. D'où notre résultat.