я получил следующий код:Не могу понять, как работает рекурсия в этом примере
public int func(int n){
if(n == 1)
return 2;
else
return 3 * func(n-1)+1;
}
Я могу понять рекурсию в таких вещах, как факторный и Фибоначчи, но для этого я не могу. Я попытался проследить логику:
if n is 3:
return 3 * func(2) + 1
return 3 * func(1) + 1
return 3 * 2 + 1
return 7
Я всегда в конечном итоге с 7 с любым другим числом, и я знаю, что это неправильно, потому что я получаю различные значения при запуске программы. Можете ли вы помочь мне понять, как здесь работает рекурсия?
upvote для получения лучшего текстового объяснения –