@nos43ratu

Как считает цикл for?

вот программа которая выводит все числа с длинной n цифры которой располагаются по возрастанию
function qwe(start,out,n) {
  if (n==0) {
    console.log(out)
  }
  for (let i=start; i<=9; i++) {
    var w=out+i;
    qwe(i+1,w,n-1)
  }
}
console.log(qwe(0,"",3))

если добавить в функцию
console.log(start+" / "+out+" / "+n)
и посмотреть как она считает я не понимаю что происходит когда i=10
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Для начала нужно оформить код так, чтобы его было удобно читать. Это само по себе позволит лучше понять, что происходит. Вообще аккуратность и внимательность способствуют пониманию и уменьшают ошибки, это как бы очевидно.

Далее следует уделить внимание логике работы программы, то есть ее описанию. Сейчас описание у вас такое, что глаза можно сломать, пытаясь понять, что же должна делать программа. Нужно подтянуть оформление вопроса в плане русского языка, пунктуации, падежей. В самой программе переменные должны иметь говорящие названия. То есть не qwe, а осмысленное имя, про start и out нужны комментарии, что они делают и т.д.

Если это не поможет, то можно на выбор:
  1. Заняться отладкой программы, то есть пошагово смотреть, как программа выполняется, и соотносить это с логикой её работы.
  2. Попытаться доказать работу программы чисто математически, как учили в школе. То есть из-за использования циклов и рекурсии понадобится применить метод математической индукции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы