小白VB问题求助~
有一分数序列2/1,-3/2,5/3,-8/5,13/8,-21/13,…,,写出计算这个数列的前10项之和的程序代码。(用VB语言哟~)
回复 楼主 爱上VB
本人初学vb,将就写了一个简单代码,勉强实现楼主的想法,且没有用for循环。思路如下。该数列是一个斐波那契数列的简单变体,因此,容易找出数组的递归公式:
B(n)=(-1)^(n+1)*A(n-1)/A(n-2)
A(n)=A(n-1)+A(n-2)
在此基础上,利用Do While,计算二十个数列的和。代码如下:
'--------------------------------------------------------------------
'***************Fibonacci 斐波那契数列变体求和
'---------------------------------------------------------------------
Option Explicit
Private Sub Command1_Click()
Dim a(1 To 30) As Integer '斐波那契数列
Dim b(1 To 30) As Double '斐波那契数列变体
Dim n As Integer '递归整数
Dim sum As Single '求和
a(1) = 1: a(2) = 1 '斐波那契数列首二位
n = 3 '斐波那契数列第三位开始运算
sum = 0 '初始化
Do While n - 2 <= 20 ' 避免用for循环,运算二十次
a(n) = a(n - 1) + a(n - 2) '计算斐波那契数列下一个数值
b(n - 2) = a(n) / a(n - 1) * (-1) ^ (n + 1) '计算斐波那契数列变体下一个数值
sum = sum + b(n - 2) '斐波那契数列变体求和
n = n + 1 '递归整数
Loop
Text1.Text = sum '求和输出
End Sub
代码在windos7 上安装的VB6运行通过。计算前二十个数值的总和是.5779217
以上代码未优化,未可视化。抛砖引玉,还望指教。