Module Module1
Sub Main()
Dim i As Integer, j As Integer, k As Integer, m As Integer
Dim x As Integer, y As Integer
Dim n As Integer, r As Integer
Dim map(1, 1) As Integer
Dim text2 As String
Dim a As Integer
a = <<輸入數字>>
text2 = ""
x = 0
y = 0
k = 1
m = Int(Val(a)) - 1
j = m
r = (m + 1) ^ 2
ReDim map(m, m)
For i = 0 To m
For n = x To x + j
map(n, y) = k
k = k + 1
If k > r Then Exit For
Next n
If k > r Then Exit For
x = x + j
y = y + 1
For n = y To y + j - 1
map(x, n) = k
k = k + 1
If k > r Then Exit For
Next n
If k > r Then Exit For
y = y + j - 1
x = x - 1
For n = x To i Step -1
map(n, y) = k
k = k + 1
If k > r Then Exit For
Next n
If k > r Then Exit For
x = i
y = y - 1
For n = y To i + 1 Step -1
map(x, n) = k
k = k + 1
If k > r Then Exit For
Next n
If k > r Then Exit For
x = i + 1
y = i + 1
j = j - 2
Next i
For i = 0 To m
For j = 0 To m
text2 = text2 & CStr(map(j, i)) & vbTab
Next j
text2 = text2 & vbCrLf
Next i
Console.Write(text2)
Console.Read()
End Sub
End Module