網路城邦
回本城市首頁 唐老鴨之家
市長:  副市長:
加入本城市推薦本城市加入我的最愛訂閱最新文章
udn城市資訊科技網路分享【唐老鴨之家】城市/討論區/
討論區Excel VBA 字體:
上一個討論主題 回文章列表 下一個討論主題
求八后問題的所有解答
 瀏覽820|回應0推薦0


等級:6
留言加入好友
Rem === 八后問題 ===
Dim a(8), b(16), c(16) As Boolean
Dim n As Integer

Private Sub CommandButton1_Click()
For i = 1 To 8
a(i) = True
Next i
For i = 1 To 16
b(i) = True
c(i) = True
Next i
n = 0
Call try(1)
End Sub

Sub prt()
For k = 1 To 8
Cells(1 + n, k + 9) = Cells(1, k)
Next k
n = n + 1
End Sub

Sub try(i)
For j = 1 To 8
If a(j) And b(i + j) And c(i - j + 8) Then
Cells(i) = j
a(j) = False
b(i + j) = False
c(i - j + 8) = False
If i < 8 Then
Call try(i + 1)
Else
Call prt
End If
a(j) = True
b(i + j) = True
c(i - j + 8) = True
End If
Next j
End Sub
回應 回應給此人 推薦文章 列印 加入我的文摘

引用
引用網址:https://city.udn.com/forum/trackback.jsp?no=58536&aid=5035792