作者cowbbb (阿梁)
看板C_and_CPP
標題[問題] 請教一個題目的遞迴解法
時間Tue Feb 10 23:36:10 2009
題目是 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
1F:推 ledia:不算, 遞迴要 call 自己 02/10 23:38
2F:→ softwind:間接遞迴也是可以啦 反正就是要call回自己 02/10 23:39
3F:→ cowbbb:抱歉最後一行應該是 sum+recur(i-1); 02/10 23:39
4F:推 allen501pc:雙遞迴解呢? 02/11 00:58
5F:推 ledia:嗯 改成 sum+recur(i-1) 應該就沒問題了 02/11 01:13