看板 C_and_CPP 關於我們 聯絡資訊
題目是 1+(1+2)+(1+2+3)+....+(1+2+3+...10) 迴圈解法如下: for(i=1;i<=10;i++) for(j=1;j<=i;j++) sum+=j; 但是請問遞迴解法該如何下手呢? 畢竟 a1=1 a2=1+(1+2) 差1+2 a3=1+(1+2)+(1+2+3) 差1+2+3 若是函式內有迴圈也可稱為遞迴嗎 例如 calling recur(10); recur(int i) { int sum; if(i= =1) return 1; else { sum=0; for(j=1;j<=i;j++) sum+=j; return sum+(i-1); } 請問這樣的解法也稱為遞迴嗎? -- We are what we want to be !!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.0.67
ledia:不算, 遞迴要 call 自己 02/10 23:38
softwind:間接遞迴也是可以啦 反正就是要call回自己 02/10 23:39
cowbbb:抱歉最後一行應該是 sum+recur(i-1); 02/10 23:39
allen501pc:雙遞迴解呢? 02/11 00:58
ledia:嗯 改成 sum+recur(i-1) 應該就沒問題了 02/11 01:13