VB简单编程求教

来源:百度知道 编辑:UC知道 时间:2024/04/29 11:29:12
以下数列1,1,3,5,9,15,25,41。。。。,的规律是从第3个数开始,是前两个数相加之和再加1。代码如下:
Dim a(50) As Long
a(1) = 1
a(2) = 1
For i = 3 To Val(Text1.Text)
a(i) = a(i - 1) + a(i - 2) + 1
Next i
Text2.Text = a(i - 1)

请问Text2.Text = a(i - 1)这里的a(i-1)的i为什么要减1呀?什么意思?

这里的a(50)就是指有51个数字的数组,a(i) = a(i - 1) + a(i - 2) + 1就表示为:
你的现在要算的数字= 前一个数字 加上 前面的前面的数字 加上 1
这个数列的数字,每一个数字都对应着一个数组,按顺序来的

a(1)=1
a(2)=1
a(3)=3
a(4)=5
。。。
以此类推
a(i-1)表示a(i)前面一个数
同样,a(i-2)表示a(i)前面的前面一个数,即a(i-1)前面的数。

记住:VB数组从0开始的,text控件从1开始
这就很容易理解了

For Next循环完成后i会比循环上限+1,这是For循环的机制决定的。