vb杨辉三角代码中为何a(i,i) 代表最右端数?

来源:百度知道 编辑:UC知道 时间:2024/06/27 06:29:47
Private Sub Form_click()
Dim a() As Single
n = Val(InputBox("请输入行数", "杨辉三角"))
ReDim a(n + 1, n + 1)
For i = 1 To n
For j = 1 To i
a(i, 1) = 1
a(i, i) = 1 '代表最右端数
a(i + 1, j + 1) = a(i, j) + a(i, j + 1)
Print a(i, j);
Next j
Print
Next i
请问:为何a(i, i) = 1 '代表最右端数,而不是a(i, i+1).例如:第3行最右边数是这一行的第4个数,而不第3个数.我百思不得其解,望各位高手给我指点迷津,谢谢.

你弄错了吧,第一行 1个数,第二行 2个数,第3行 3个数,第i行i个数,所以最右边是 a(i,i)

你看错了。
第一行只有一个数:a(1,1)
第二行有两个数:a(2,1)、a(2,2)
第三行有三个数:a(3,1)、a(3,2)、a(3,3)

参见运行结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1