作者nedbob (狗腿)
看板C_and_CPP
标题Re: [问题] 请教一个题目的递回解法
时间Wed Feb 11 03:05:54 2009
※ 引述《cowbbb (阿梁)》之铭言:
: 题目是 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);
: }
: 请问这样的解法也称为递回吗?
int recur(int i)
{
if( i = = 1 )
return 1;
else
return recur(i-1) + sum(i);
}
int sum(int i)
{
if( i = = 1 )
return 1;
else
return i + sum(i-1);
}
没有回圈 = =|||
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.135.42.249
1F:→ adrianshum:奇怪.. 为什麽连续两篇都把 == 写成 = =? 看起来好怪 02/11 14:22
2F:推 ledia:= = compile 不会过吧? 02/11 14:29
3F:→ nedbob:只是单纯在BBS上看不出来 == 是两个 = 02/11 18:31