今天寫一個簡單的遞歸寫懵逼了,用for替代遞歸還能想到,但是就用遞歸來返回特定值就不知道怎麼寫了。
然後看了一下以前的筆記,決定再做一下筆記。
題目,比如:返回最後一次遞歸的值
1、首先將特定的條件單獨拿出來判斷
2、創建返回值的“”窗口“”,將值在出棧中逐步返回
int iterate(int x, int n);
int main(){
int x,times;
scanf("%d %d",&x,×);
printf( "%d ", iterate(x, times));
}
int iterate(int x, int n){
//首先判斷條件
if( n == 0) { //最後一次遞歸
return x;
}
else{ //不是最後一次遞歸,繼續遞歸
x = x * 2;
--n;
int result = iterate(x,n); //傳遞的“窗口”
return result;
}
}