Menu
CoddyTech

Climbing Stairs

Ты стоишь у подножия лестницы с n ступеньками. За один ход можно подняться на 1 или 2 ступеньки. Два способа подъёма считаются разными, если последовательности ходов в них отличаются, поэтому 1, 2 и 2, 1 — это два разных способа. Твоя функция получает n и возвращает количество различных способов добраться до вершины.

Функция

climbStairs(n: integer) → integer
ninteger
количество ступеней в лестнице
Возвращаетinteger
количество различных последовательностей из шагов длиной 1 и 2, позволяющих достичь ступеньки n

Ограничения

  • 1 ≤ n ≤ 45
  • Ответ помещается в 32-разрядное целое число со знаком: n = 45 даёт 1836311903.

Примеры

Ввод
n = 3
Вывод
3
Пояснение
На три ступеньки можно подняться так: 1, 1, 1, так: 1, 2 или так: 2, 1, всего есть 3 способа.

lock icon+13 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Что, если некоторые ступеньки сломаны и на них нельзя наступать? Как изменится рекуррентное соотношение и чему равен счёт для сломанной ступеньки?

Сбросить код
def climbStairs(n):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Ввод

n = 3

Ожидается

3