當前位置:成語大全網 - 新華字典 - VBA高手解釋壹下這個遞歸M選N組合看不懂

VBA高手解釋壹下這個遞歸M選N組合看不懂

Private?Sub?C(ByVal?t?As?Integer)

Dim?i?As?Integer

For?i?=?A(t?-?1)?+?1?To?M?'i從前壹個號碼+1開始到m

A(t)?=?i?'第t個號碼為i

If?t?=?N?Then?'t=N?n個號碼排滿?然後再Myprint輸出到單元格

Myprint

Else

Call?C(t?+?1)

End?If

Next?i

End?Sub

Private?Sub?Myprint()

Dim?i%,?LinStr$,?Ar

LinStr?=?""

For?i?=?1?To?N?-?1

LinStr?=?LinStr?&?A(i)?&?"?"

Next?i

LinStr?=?LinStr?&?A(N)'把a(1)到a(n)用空格隔開連成字符串

Ar?=?Split(LinStr)?'字符串轉為數組

Range("A"?&?Ro).Resize(,?N)?=?Ar?'因為數組a前面多了個a(0)不能直接輸出到單元格,所以轉換壹下

Ro?=?Ro?+?1

End?Sub