170 похожих чатов

Ребят, всем привет, есть такая задача: Буратино поднимается по лестнице из

трех пролетов, по 5, 8 и 9 ступеней.

Поднимаясь по лестнице он может наступить на следующую ступень, перешагнуть одну ступеньку, или перешагнуть через две ступеньки.

Однако он обязательно должен наступить один раз на площадку между пролетами.

Сколькими различными способами он сможет подняться по лестнице.

Пример одного из способов: перешагнуть две ступеньки, перешагнуть одну ступеньку (оказались на первом пролете), два раза перешагнуть через две ступеньки и два раза ступить на следующую ступеньку (оказались на втором пролете), три раза перешагнуть через две ступеньки (оказались в конце лестницы)

Решение дать в виде php функции, которая бы принимала три параметра - количество ступенек в каждом из трех пролетов


Я ее представляю следующим образом:
У меня есть 1 ступенька - кол-во способов - 1
2 ступеньки - 2, 3 ступеньки - 4, 4 -5, 5 - 8, 6 -13 и тд

Я так понимаю это отсылка к Фибоначи.
потом просто суммирую три пролета.

Вот решение на php:

<?php
//возвращает n-е число Фибоначчи.
function fib($n) {
$a = 1;
$b = 1;
for ($i = 3; $i <= $n; $i++) {
$c = $a + $b;
$a = $b;
$b = $c;
}
return $b;
}

//количество способов которыми можно подняться по леснице из 3-ех пролётов
function upStairs($stairs1 = 5, $stairs2 = 8, $stairs3 = 9) {
return fib($stairs1) + fib($stairs2) + fib($stairs3);
}

echo 'Количество различных способов, которыми можно подняться по лестнице: ' . upStairs(1, 1, 1);

Мне ответили «Очень близко.
Но есть небольшая ошибка
в конфигурации 1 1 1 код вернет 3
в реальности ответ 1..»

Я не могу понять как можно подняться одним способом если нужно обязательно наступить на пролет, как сказано в условии задачи? Помогите разобраться пожалуйста

3 ответов

82 просмотра

Это на собеседовании тебе дали?) Или сам для себя решаешь?

может имеется виду разных? у тебя получается везде по одно лестнице? как бы одинаковые способы

тебе нужно еще после этого искать уникальные

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта