Авторский канал о том, как стать программистом, когда вы даже не знаете, что это.
Много интересного и для других сфер - планирование, самоконтроль, различные лайфхаки и т.д.
Задачи @tasks_frontend
Обратная связь @WpdFeedbackBot
Сотрудничество @rezvanini
Post #273
2.04K
Всем привет! 🖖
Извиняюсь, что не так часто пишу в последнее время - как всегда неожиданно появилась куча забот 🤯😤
Но судя по такому большому числу лайков - от подробного разбора задачи мне не отмазаться. 🤣 Итак, поехали.
Правильные ответы: при fib(6) - правильный ответ 8, а при fib(7) - 13
Я долго думал как объяснить эту задачу, не написав целую поэму и тут как всегда помог наставник - пишите ее на бумаге!!!
Итак, вызвав функцию, в первую очередь она смотрит - выполняется ли условие (num <=2). В первой задачи у нас аргумент равен 6, условие не выполняется и дальше у нас функция будет вызывать сама себя. Сначала та, что num-1, проверяется условие и потом та, что num-2. Т.е. вызовем сначала с 6, потом с 5 (6-1), потом с 4 (5-1), потом с 3(2-1) и на этом остановимся, так как с num=3 у нас выполнится условия и для fib(num-1) и для fib(num-2) - и та и та вернет 1, тк условие выполнится.
В итоге мы знаем, что fib(2) вернет 1 и fib(1) вернет 1 - а дальше все просто. В обратном порядке по бумаге смотрим "предка" и вычисляем его значение путем суммирования результата "детей". Я как DOM объясняю - но мне кажется так проще ))))
Прикрепляю свой скрин. Так же сегодня мне прислала скриншот Dina, хочу и им поделиться - очень классный и понятный.
зы Если у кого остались вопросы, можно задать их в чате
Извиняюсь, что не так часто пишу в последнее время - как всегда неожиданно появилась куча забот 🤯😤
Но судя по такому большому числу лайков - от подробного разбора задачи мне не отмазаться. 🤣 Итак, поехали.
Правильные ответы: при fib(6) - правильный ответ 8, а при fib(7) - 13
Я долго думал как объяснить эту задачу, не написав целую поэму и тут как всегда помог наставник - пишите ее на бумаге!!!
Итак, вызвав функцию, в первую очередь она смотрит - выполняется ли условие (num <=2). В первой задачи у нас аргумент равен 6, условие не выполняется и дальше у нас функция будет вызывать сама себя. Сначала та, что num-1, проверяется условие и потом та, что num-2. Т.е. вызовем сначала с 6, потом с 5 (6-1), потом с 4 (5-1), потом с 3(2-1) и на этом остановимся, так как с num=3 у нас выполнится условия и для fib(num-1) и для fib(num-2) - и та и та вернет 1, тк условие выполнится.
В итоге мы знаем, что fib(2) вернет 1 и fib(1) вернет 1 - а дальше все просто. В обратном порядке по бумаге смотрим "предка" и вычисляем его значение путем суммирования результата "детей". Я как DOM объясняю - но мне кажется так проще ))))
Прикрепляю свой скрин. Так же сегодня мне прислала скриншот Dina, хочу и им поделиться - очень классный и понятный.
зы Если у кого остались вопросы, можно задать их в чате


