VB遞迴計算階層

Home Home
引用 | 編輯 john33
2006-09-22 00:21
樓主
推文 x0
最近學校出了一個題目.用VB遞迴算階層
因為之前學VB時沒教到遞迴
目前有點瓶頸想跟前輩請益一下

題目 tn=tn-1 + 3*tn-2
目前進度

Dim N As ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 過路的
2006-09-22 08:43
1樓
  
你的題目跟你的算是似乎對不上阿,你有沒有考慮到先乘除後加減的問題?在問依據,你這題目跟Fibonacci Series有關嗎?(感覺上有點相似度)

題目:tn=tn-1 + 3*tn-2

程式計算式: f = N + 3 * f(N - 2)

獻花 x0
引用 | 編輯 john33
2006-09-22 10:57
2樓
  
雖然題目是tn
但我用f代替tn因該可以吧???
tn-1等於上次計算的結果所以等於n
tn-2等於上上次計算的結果
個人是這樣認為...因為沒學過這個 表情
請前輩賜教 表情

獻花 x0
引用 | 編輯 過路的
2006-09-23 20:30
3樓
  
你這算是Fibonacci Series的變形,你只考慮了N=0的狀況,卻忘了N=1的況狀,你要想想,你欲求的值是由前兩項計算後加總起來,如果你的項數小於等於2就會發生錯誤,項數大於2也求不出答案(初值少一項),所以你永遠找不到正確答案。

簡單的說,你必須有兩個初值,一個是N=0,一個是N=1,如此N=2時才能依據前兩項來得到答案,而且你的N值如果小於2,那就只會得到預設值,且N<0會發生錯誤,都得留意。

獻花 x1
引用 | 編輯 john33
2006-09-24 17:57
4樓
  
下面是引用過路的於2006-09-23 20:30發表的 :
你這算是Fibonacci Series的變形,你只考慮了N=0的狀況,卻忘了N=1的況狀,你要想想,你欲求的值是由前兩項計算後加總起來,如果你的項數小於等於2就會發生錯誤,項數大於2也求不出答案(初值少一項),所以你永遠找不到正確答案。

簡單的說,你必須有兩個初值,一個是N=0,一個是N=1,如此N=2時才能依據前兩項來得到答案,而且你的N值如果小於2,那就只會得到預設值,且N<0會發生錯誤,都得留意。
表情

獻花 x0
引用 | 編輯 panasonic732
2006-10-01 09:28
5樓
  
VB有遞迴??
那我要去翻翻書呢

記得在學的時候沒用過....
上了一課

獻花 x0