Учитывая следующую рекурсивную функцию:
// Pre-condition: y is non-negative.
int mysterious(int x, int y) {
if (y == 0) return x;
return 2*mysterious(x, y-1);
}
Что такое возвращаемое значение таинственного (3, 2)?
Вот мой стек вызовов:
return 2*mysterious(3, 2-1) => 2*3 => 6, 2*1 => mysterious(6,2)
return 2*mysterious(6, 2-1) => 6*2 => 12, 2*2 => mysterious(12, 2)
Но кажется, что у тебя никогда не будет 0. Что я делаю не так?