Вопрос №55711 от пользователя user-a859ef60499b106a в уроке «Итеративный процесс», курс «Введение в программирование»

user-a859ef60499b106a

https://ru.hexlet.io/code_reviews/420840#

Не понимаю это задание, зачем вообще в последней return писать (n, ...). Что такое counter acc и как задать им, что первое это n, а второе результат текущего умножения...

2 0

Вячеслав Павлов

user-a859ef60499b106a, здравствуйте.

Попробуйте еще раз пройтись по теории вникнуть и понять итеративный процесс.

Дополнительно поработайте с примером из теории. Расставьте в коде отладочную печать и отслеживайте, как меняются значения переменных.

1

Maksim Litvinov

Вячеслав дал хороший совет. Чтобы разобраться, как работает код, воспользуйтесь отладочной печатью. Расставьте в коде console.log() и посмотрите, как меняются константы acc и counter.

зачем вообще в последней return писать (n, ...)

Мы же должны начать делить с какого-то числа. Функция smallestDivisor должна вернуть вызов внутренней функции iter с начальным делителем. Сейчас она ничего не возвращает, поэтому получается undefined.

    Expected: 3
    Received: undefined

Что такое counter acc

acc - это аккумулятор, константа, которая накапливает результат и передает его от вызова к вызову. В нашем случае она хранит текущий делитель числа. А counter это само число. Кстати, обратите внимание, что мы ищем делитель. И если число делится на делитель нацело, нужно вернуть делитель.

и как задать им, что первое это n, а второе результат текущего умножения...

Вы вызываете внутреннюю функцию return iter (n, 2), передав ей аргументы в таком порядке. Внутри iter переменная counter становится равной n (самому числу), а acc становится равной 2 при первом вызове

1

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

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

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

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

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

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

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
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 месяцев