なく、すべての組み合わせを取得します。私はこのコードを持って繰り返し
Dim combinations As New List(Of String)
Dim word As String = "abc"
For c1 = 0 To word.Length - 1
combinations.Add(word(c1))
For c2 = 0 To word.Length - 1
If c2 <> c1 Then
combinations.Add(word(c1) & word(c2))
For c3 = 0 To word.Length - 1
If c3 <> c2 And c3 <> c1 Then
combinations.Add(word(c1) & word(c2) & word(c3))
End If
Next
End If
Next
Next
出力:
a, ab, abc, ac, acb, b, ba, bac, bc, bca, c, ca, cab, cb, cba
がどのように無制限のワード長のために同じことをするだろう機能を作るには?
Q:宿題?提案:Google "vb.net permutation" :) – paulsm4
文字数(例えば、32または64)に制限がある場合は、すべての組み合わせを作成する非常に効率的な方法があります。 – dasblinkenlight
@ paulsm4私はこのコンビナトリアルタイプがどのように呼び出されるのか分かりません。それは通常の並べ替えや組み合わせの種類ではありません。 – Cobold