WSH(・∀・)スレッド! at TECH
WSH(・∀・)スレッド! - 暇つぶし2ch487:デフォルトの名無しさん
06/01/14 18:24:26
>>475
素直に組めばこんなもんかな

Option Explicit

Permutation 9

Private Sub Permutation(N)
WScript.Stdout.WriteLine "N = " & CStr(N)
Dim A(): ReDim A(N - 1)
Dim I: For I = 0 To N - 1: A(I) = I + 1: Next
PermutationSub A, 0, N - 1
End Sub

Private Sub PermutationSub(A, N, M)
If N <= M Then
Dim I
For I = N To M
Swap A(N), A(I):PermutationSub A, N + 1, M: Swap A(N), A(I)
Next
Else
WScript.Stdout.WriteLine Join(A, " ")
End If
End Sub

Private Sub Swap(X, Y)
Dim W: W = X: X = Y: Y = W
End Sub

うちの環境だと、N が 568 以上だとスタックオーバーフローするけどな。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch