當前位置:成語大全網 - 新華字典 - 問壹個VB中排列組合的問題

問壹個VB中排列組合的問題

我明白了。就像彩票組合壹樣。讓我們把幾個不同位置的數字組合起來。

只是用壹個二維數組和壹個壹維數組臨時存儲。二維數組存儲所謂的分組數,然後隨機得到的結果存儲在壹維數組中,多個數組位置存儲在壹個預設的代碼中,也就是說可以用兩個嵌套的循環來組合沒有數字的數。

妳的意思是排列組合的算法有點難。這可以用循環來代替。我記得有這樣壹個算法操作,但是需要壹段時間記憶和編碼。

排列組合的算法壹般用遞歸函數做,算法的代碼會清晰簡潔,但遞歸過程可以用循環代替,代碼會比較復雜。我怕妳的獎勵分數太小,寫不出完整的代碼,不值得花時間在這上面。這裏有壹段話給妳:而且還存在壹些問題。

1.註意數組有上限,不能用在Otawa中組數太長的地方。由妳來擴展它們。2.擴展後,數組占用大量內存,可能會導致錯誤。3.下面的代碼省略了數組初始化和賦值的過程,我覺得對妳來說很簡單。

常數組號= 4

Dim預選編號(1到5,1到5)為字符串

字符串形式的Dim組合結果(1到5 5)

Dim i為整數,j為整數,k為整數

Dim st(1到組號)作為字符串

字符串形式的Dim temp

“Dim sx(1到5) As Integer”表示為每組數據選擇要組合的數字的序列號。

sx(1)= 1:sx(2)= 1:sx(3)= 1:sx(4)= 1:sx(5)= 1

開始下面的組合

k = 1

臨時= " "

j = 1: sx(j) = 1

如果j & gt組數或預選數(j,sx(j))=“n”則

j = j - 1

如果j = 0,則退出Do

如果溫度& lt& gt""那麽temp = Left(temp,Len(temp) - 1)

sx(j) = sx(j) + 1

其他

溫度=溫度& amp預選數字(j,sx(j))

j = j + 1

如果j & gt那麽組號

組合結果(k) =溫度

調試。打印溫度

k = k + 1

其他

sx(j) = 1

如果…就會結束

如果…就會結束

如果j = 0,則退出Do

對於i = 1到5 ^ 5

如果組合結果(I )& gt;”“那麽

單元格(4+i,6) =組合結果(I)

其他

為...退出

如果…就會結束

接下來我