VB编程计算

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:00:21
有一列A1 A2 A3 A4 A5.....,已知A1=1 A2=1 A3=2 A4=A1+2*A2+A3 A5=A2+2A3+A4........,如此类推编程输出第23项的值
答案=9651449 求过程

先创建2个文本和一个命令钮,然后输入以下代码
Private Sub Command1_Click()
Dim i As Integer
i = Val(Text1.Text)
If i = 1 Or i = 2 Then
Text2.Text = 1
ElseIf i = 3 Then
Text2.Text = 2
Else
ReDim a(1 To i) As Long
For j = 4 To i
a(1) = 1
a(2) = 1
a(3) = 2
a(j) = a(j - 3) + 2 * a(j - 2) + a(j - 1)
Next
Text2.Text = a(i)
End If
End Sub

递归咯。

伪代码:
function f(x:integer);
begin
if x==1 or x==2 then f=1 else
f=f(x-3)+2*f(x-2)+f(x-1);
end

什么东东阿?看不懂啊?