斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
就是序列上的数等于其前两个数的和
a = 0b = 1 i = 3s = 1 (这是序列的和,前两个数和为1)Text1 = a & Space(5) & b (第i-2个数,第i-1个数,这里i=3,所以a,b是第一第二个数)Do c = a + b (c计算第i-2和i-1个数之和,这是新产生的数) Text1.Text = Text1.Text & Space(5) & c s = s + c (原数列的和加上新产生的数,计算新的和) a = b (第i-2个数被第i-1个数取代) b = c (第i-1个数被第i个数取代) i = i + 1 (i+1,准备下一个循环) Loop While i <= 20Print sEnd Sub
a b 用于保留前两个数,计算新生成的c
s数序列的总和
这是一个计算斐波那契数列总和的子程序
解:
Private Sub Command1_Click()Dim a As Integer, b As Integer, c As IntegerDim i As Integer, s As Integera = 0b = 1 i = 3s = 1Text1 = a & Space(5) & bDo c = a + b '按Fn=F(n-1)+F(n-2)公式给出斐波那契数列,其中n>=2,n为自然数
Text1.Text = Text1.Text & Space(5) & c s = s + c '求得斐波那契数列的和
'以下变换a、b的值以求得下一个斐波那契数
a = b b = c i = i + 1 Loop While i <= 20Print sEnd Sub