急!!!VB简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 08:09:25
用循环语句实现: 1+2+4+7+11+16+22+29+37+46+56 = ?

写出原代码并能在ACCESS2003实现,计算结果。

请问: 上面问题是11项的结果,,如果推广到50项的和是多少呢?

规律是这样吗? 本位数=前一位数+前一位位数

Private Sub Command1_Click()

Dim n As Integer '定义位数

n = 11 '如果是50位,就写 n=50

Text1.Text = snum(n)
End Sub

Function snum(num As Integer) As Long
'num定义求几位数的和,
Dim s() As Integer

ReDim s(0)
s(0) = 1
i = 1

Do While i <= num
ReDim Preserve s(i)
s(i) = s(i - 1) + i - 1
i = i + 1
Loop

For j = 1 To UBound(s)
snum = snum + s(j)
Next j

End Function

Option Explicit

Private Sub Command1_Click()
Dim i As Long
Dim Count As Long
Dim C As Long
C = 1
For i = 1 To 50
C = C + i - 1
Count = Count + C
Next i
Print Count
End Sub

1,2,4,7,11,16.....

。。。