子代組合()
Dim myArr(1到20)為整數
將I標註為整數
使用這裏的示例數據填充數組myArr。
對於i = 1到20
myArr(i) = i
接下來我
循環輸出長度為1到20的所有組合。
對於i = 1到20
調試。打印“是”&;我& amp"以下各項的組合:"
GenerateCombinationsHelper my arr,I,""
接下來我
末端接頭
subgeneratecombinationshelper(myArr為變量,k為整數,結果為字符串)
將I標註為整數
Dim j為整數
如果k = 0,那麽
調試。打印結果
其他
對於i = 1至UBound(myArr)
如果InStr(result,CStr(myArr(i))) = 0,則
GenerateCombinationsHelper myArr,k - 1,result & amp”& amp緬甸(壹)
如果…就會結束
接下來我
如果…就會結束
末端接頭
運行代碼
代碼首先填充數組myArr,然後循環出所有長度為1到20的組合。對於每個長度,代碼調用GenerateCombinationsHelper函數來生成所有可能的組合。GenerateCombinationsHelper函數遞歸地生成組合。它首先檢查是否已經選擇了k個元素,如果是,則輸出結果;否則,它將遞歸調用自身,選擇壹個尚未選擇的元素,將其添加到結果中,然後繼續選擇下壹個元素。當選定元素的數量達到k時,遞歸結束。生成的組合通過結果參數傳遞,並使用Debug.Print輸出。