level 15
可以把中心点看成原点建立坐标系,观察整数坐标的点,比如坐标是(x,y),分别取x和y的绝对值,两个数选出最大值,再加上1,就是这个点应该填的数字
2024年10月17日 11点10分
3
level 7
n = Val(InputBox("请输入n"))
k = 2 * n - 1
ReDim a(1 To k, 1 To k)
For j = 1 To k
For i = 1 To k
If Abs(i - n) + 1 >= Abs(j - n) + 1 Then
a(i, j) = Abs(i - n) + 1
Else
a(i, j) = Abs(j - n) + 1
End If
Print a(i, j);
Next
Print
Next
2024年10月17日 12点10分
4
你这个是把左上角定为原点了(不是第一个数,而是这个数再往左上移一格的位置),如果把中心点定为原点(循环范围变为1-n To n-1),那么计算时直接对i和j取绝对值即可,不用再减n了,那个k也不需要了
2024年10月17日 13点10分
level 7
n = Val(InputBox("请输入n"))
ReDim a(1 - n To n - 1, 1 - n To n - 1)
For j = 1 - n To n - 1
For i = 1 - n To n - 1
If Abs(i) >= Abs(j) Then
a(i, j) = Abs(i) + 1
Else
a(i, j) = Abs(j) + 1
End If
Print a(i, j);
Next
Print
Next
2024年10月17日 14点10分
5
改进一下
2024年10月17日 14点10分