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