當前位置:編程學習大全網 - 網站源碼 - vb如何出現幾個不重復的隨機數?

vb如何出現幾個不重復的隨機數?

公共函數GetRndNotRepeat(ByVal NumMin為整數,ByVal NumMax為整數,ByVal n為整數)

編譯:xsfhlzh

函數:取NumMin和NumMax之間的n個隨機整數。

描述:取標誌的數組是Byte,每個位代表NumMin和NumMax之間某個數的狀態。

Dim arr()為整數

如果n & gtNumMax - NumMin + 1然後

ReDim arr(0)

arr(0) = 0

其他

ReDim arr(n)

Dim b()為字節

將m標註為整數

m = Int((NumMax - NumMin) / 8)

雷迪姆b(m)

入口標誌

將x標註為整數,y標註為整數

將z作為字節顯示

使不規則化

arr(0) = 1

對於i = 1到n

求X的位置,其中y表示X在數組的哪個字節,z表示X在哪個字節。

x = Int(Rnd *(NumMax-NumMin+1))+NumMin

y = x - NumMin

z = 2 ^ (y Mod 8)

y = y \ 8

b(y)和z時循環

b(y) = b(y)或z

arr(i) = x

找到未取的數,放入數組,設置標誌位。

接下來我

如果…就會結束

GetRndNotRepeat = arr

結束功能

示例:

a = GetRndNotRepeat(1,10000,2000)

如果a(0)則

對於i = 1到2000

調試。打印a(i)

接下來我

如果…就會結束

  • 上一篇:ts濾芯是什麽
  • 下一篇:汽車的爬坡能力反映了汽車的什麽性能?
  • copyright 2024編程學習大全網