用VB实现回溯问题~~

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:21:12
不要求很复杂 能用即可~~
3Q啦~~~
- -!谢谢...不过能具体点么...

用ON...GOTO...语句吧

For i = 2 To n
10: '回溯点
If a(i) <= n Then
For j = 1 To i - 1
If a(j) = a(i) Or Abs(a(i) - a(j)) = i - j Then a(i) = a(i) + 1: GoTo 10 '从这里回溯

Next
If i = n Then MsgBox "有解" ''要求多解的话,可以再继续
Else
a(i) = 1
i = i - 1
a(i) = a(i) + 1
If i = 1 Then
If a(i) > n Then MsgBox "无解": Exit Sub
i = 2
End If
GoTo 10 '从这里回溯
End If
Next

如果还不理解,可以看看书或百度一下