1.
【高精度计算问题】斐波那契数列,又称黄金分割数列指的是这样的一个数列1、2、3、5、8、13、21、34、55、89、144、233、377、…这个数列从第3项开始,每一项都等于前两项之和,即F(1)=1,F(2)=1,F(n)=f(n-1)+f(n-2)(n≥3)。
当计算到第50项时,数据为12586269025,此时就无用普通数据类型表示位数这么多的计算结果,所以可以采用高精度加法。即运用数组,用程序模拟列竖式计算的过程。若以100位及以内的两个正整数进行高精度加法计算的一般算法如下: ⑴将前一个整数各位上的数字按照从低位到高位的顺序依次存入数组a(1)、a(2)、a(3)…、a(100)中,将后一个整数各位上的数字按照从低位到高位的顺序依次存入数组b(1)、b(2)、b(3)、…、b(100)中;
⑵按照从低位到高位的顺序,将两个整数各位数值进行逐位相加计算,a(1)和b(1)相加,结果存入c(1)中,a(2)和b(2)相加,结果存入c(2)中…;
⑶对数组c中的计算结果进行从低位到高位的进位处理;
⑷按照从高位到低位的顺序输出数组c中的计算结果。
问题:为实现上述功能,代码如下,将划线处的代码补充完整。
Private
Sub Command1 _Click ( )
Const
t = 1000
Dim
a(t) As Integer, b(t) As Integer
Dim
c(t) As Integer
n = Val(Text1.
Text)
Text2.
Text =“”
For i
= 1 To t
a(i) = 0: b(i)=0: c(i)=0
Next
i
a(1)
=1
b(1) =
1
For i
=3 To n
For j = 1 To t
c(j)= ①
Next j
For j = 2 To t
c(j)= ②
c(j-1) = c(j-1) Mod 10
Next j
For j = 1 To t
a(j)=b(j): b(j)=c(j): c(j)=0
Next j
Next
i
i=t
Do
While b(i)=0
③
Loop
Do
While i > 0
Text2. Text = Text2. Text & b(i)
i =i-1
Loop
End
sub
①________ ②________ ③________