VB题目-阶乘与八皇后

来源:百度知道 编辑:UC知道 时间:2024/06/10 18:41:36
1.编写VB程式利用"递回关系"计算N的阶乘
2.编写一个VB程式解决八皇后问题

阶乘代码比较多,不给了

8皇后:主要用递推的思想:
Dim int1 As Integer
Private Sub cmd_click()
List1.Clear
int1 = 0
Dim i As Single, j As Single
i = 1
j = 1
Dim p As Integer, b As Boolean
Dim a(1 To 8, 1 To 8) As Boolean

Dim ii(1 To 8) As Single
Dim jj(1 To 8) As Single
a(i, j) = True
ii(1) = i
jj(1) = j
Do

Do While i < 8
i = i + 1
If i = 0 Then Exit Sub
j = 1
If b = True Then
a(i, jj(i)) = False
b = False
j = jj(i) + 1

End If

Do
If j > 8 Then i = i - 2: b = True: Exit Do
For p = 1 To i - 1
If j = jj(p) Or Abs(i - ii(p)) = Abs(j - jj(p)) Then Exit For
Next
If p = i Then Exit Do
j = j + 1
Loop

If b = False Then
ii(i) = i: jj(i) = j
a(i, j) = True
End If
Loop