評價: 2 回應: 3 閱覽: 121
置頂

遞迴問題

大家好,搭給賀

今天上萬惡的程式課時的回家作業

要寫一個遞迴的程式

例如使用者輸入一串字串如abc

輸出結果就要是

abc

acb

bac

bca

cab

cba

使用的語言是VB

請問各位大神此題怎解??

熱門回應

Private Sub Command1_Click() 
Dim a As String 

a = Trim(InputBox("請輸入字串", , "123")) 
If a = "" Then Exit Sub 
ReDim c(1 To Len(a)) As Boolean 
cal a, "", c 
End SubSub cal(a As String, s As String, c() As Boolean) 
If Len(s) = Len(a) Then Print s: Exit Sub 
Dim i As Integer, tmp() As Boolean 
For i = 1 To Len(a) 
  If Not c(i) Then 
    tmp = c: tmp(i) = True 
    cal a, s & Mid(a, i, 1), tmp 
  End If 
Next 
End Sub

Hanoi Tower的解答網上有很多

解答

先要了解遞迴的規則

再去推算程式碼比較好理解

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言