Dim a(1 To 50) As Long Dim i As Long, t As Long, p As Long Dim b As BooleanRandomizeFor i = 1 To 50 a(i) = i Next '初始化For i = 1 To 50 t = Int(Rnd * 50) + 1 p = a(t) a(t) = a(i) a(i) = p Next '打乱顺序b = False Do While b = False b = True For i = 1 To 49 If Abs(a(i) - a(i + 1)) = 1 Then t = Int(Rnd * 50) + 1 p = a(t) a(t) = a(i) a(i) = p b = False End If Next Loop '调整For i = 1 To 50 Print a(i) Next
Dim i As Long, t As Long, p As Long
Dim b As BooleanRandomizeFor i = 1 To 50
a(i) = i
Next '初始化For i = 1 To 50
t = Int(Rnd * 50) + 1
p = a(t)
a(t) = a(i)
a(i) = p
Next '打乱顺序b = False
Do While b = False
b = True
For i = 1 To 49
If Abs(a(i) - a(i + 1)) = 1 Then
t = Int(Rnd * 50) + 1
p = a(t)
a(t) = a(i)
a(i) = p
b = False
End If
Next
Loop '调整For i = 1 To 50
Print a(i)
Next