Menu
CoddyTech

Climbing Stairs

Tu te trouves en bas d’un escalier de n marches. À chaque déplacement, tu montes soit 1 marche, soit 2 marches. Deux montées comptent comme différentes si leurs séquences de déplacements diffèrent, donc 1, 2 et 2, 1 sont deux façons différentes. Ta fonction reçoit n et renvoie le nombre de façons distinctes d’atteindre le sommet.

Fonction

climbStairs(n: integer) → integer
ninteger
le nombre de marches de l’escalier
Renvoieinteger
le nombre de séquences distinctes de pas de 1 et de pas de 2 qui permettent d’atteindre la marche n

Contraintes

  • 1 ≤ n ≤ 45
  • La réponse tient dans un entier signé de 32 bits : n = 45 donne 1836311903.

Exemples

Entrée
n = 3
Sortie
3
Explication
Trois marches peuvent être gravies de 1, 1, 1, de 1, 2 ou de 2, 1, il y a donc 3 façons.

lock icon+13 tests cachés à la soumission

challenge icon

Pour aller plus loin

Que se passe-t-il si certaines marches sont cassées et que vous ne pouvez jamais vous tenir dessus ? Comment la relation de récurrence change-t-elle, et quel est le décompte pour une marche cassée ?

Réinitialiser le code
def climbStairs(n):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Entrée

n = 3

Attendu

3