Замена цикла на рекурсию - Lisp

Узнай цену своей работы

Формулировка задачи:

Добрый день. Как можно в рекурсию переделать такой цикл: от а=1 до 10 от с=15 до 20 е=а+с //другие действия .... кто-то может помочь?

Решение задачи: «Замена цикла на рекурсию»

textual
Листинг программы
  1. loop(a, c)
  2. if ((a > 10) || (c > 15)) {
  3. return 1234;
  4. } else {
  5. e = a + c;
  6. // другие действия
  7. return loop(a + 1, c + 1);
  8. }
  9. }

Объяснение кода листинга программы

В этом коде определен рекурсивный функционал с именем loop, который принимает два аргумента a и c. Если условие ((a > 10) || (c > 15)) истинно, то возвращается значение 1234. В противном случае, результатом будет значение e, равное сумме a и c. Затем, функция вызывает саму себя с аргументами (a + 1) и (c + 1).

  1. loop(a, c) - функция loop с двумя позиционными аргументами a и c
  2. Если условие ((a > 10) || (c > 15)) истинно, то возвращается 1234
  3. В противном случае, результатом будет значение e, равное сумме a и c
  4. Функция вызывает саму себя с аргументами (a + 1) и (c + 1)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут