Вопрос №55932 от пользователя Nikita в уроке «Рекурсия», курс «Введение в программирование»

Nikita

https://ru.hexlet.io/code_reviews/423334 Здравствуйте, нуждаюсь в Вашей помощи

2 0

Константин

Чтобы получился рекурсивный процесс, как минимум функция должна вызывать сама себя. Попробуйте пересмотреть эту часть

return begin + (begin + 1);

так же выглядит странно набор условий (begin === end) && (begin > end) кажется, такое условие никогда не выполнится.

0

Maksim Litvinov

Добрый день, Никита. Константин правильно вам подсказывает. В рекурсивной функции должно быть терминальное условие (чтобы знать, когда остановиться) и собственно сам рекурсивный вызов (правило продвижения). В этой функции терминальных условия будет два, обратите внимание на подсказку:

  • Последовательность, в которой begin > end, не содержит ни одного числа, т.е. является "пустой". Вычислить сумму чисел такой последовательности не представляется возможным, в этом случае возвращаем NaN
  • Сумма чисел последовательности, в которой begin === end, равна begin (или end)

Осталось разобраться с рекурсивным вызовом. Попробуйте разложить процесс вычисления на шаги. Например процесс вычисления sequenceSum(1, 4) можно представить так:

sequenceSum(1, 4)
1 + sequenceSum(2, 4)
1 + 2 +sequenceSum(3, 4)
и т.д.
0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев