Учитывая два числа, скажем start = 1
и end = 4
, я пытаюсь подсчитать все числа последовательно, а затем вниз. Нет перекручивание не допускаетсяПодсчет чисел вверх и вниз с использованием рекурсии
1 2 3 4 3 2 1
Я пытался писать функцию рекурсии. Функция подсчитывает штраф и печатает 1 2 3 4, но когда я пытаюсь отсчитать, я ожидаю 4 3 2 1
, но я попадаю в бесконечный цикл. Причина в том, что начальное значение теряется в рекурсии, и я не знаю, где остановиться при подсчете снизу вверх.
Я провел 4 часа на этом. Можем ли мы сделать это в рекурсии? Рекурсия в одну сторону
public static void countUpDown(int start, int end) {
//to pring bottom up -> 4 3 2 1
if (start > end && end > 0) {
System.out.println(end - 1);
countUpDown(start, end - 1);
}
//to print up 1 2 3 4
if (start <= end) {
System.out.println("-->" + start);
countUpDown(start + 1, end);
}
}
любая помощь в том, чтобы поставить меня в правильном направлении поможет –