如何取隨機數

2021-09-28 17:37:17 字數 1094 閱讀 1303

在工作時遇到excel裡用到隨機數,發現在vba中,如果使用rnd取隨機數,實際上取到只是1~65535分之一,並且取到的這種偽隨機數順序還是一定的。如想用系統時間做種子在此範圍內取乙個數充當隨機數,需要在rnd的前面加上randomize。

下面是我工作裡使用的一段vba**,使用了系統時間做隨機種子

private

sub commandbutton1_click(

) rname = [a65536].end

(xlup).row

nadd = [c65536].end

(xlup).row

if rname -

1>

0and nadd -

1>

0then

for i =

2to rname

randomize

j =int(

rnd*

(nadd -2+

1)+2

) range(

"b"& i)

= range(

"c"& j)

+" "

+ range(

"a"& i).text

next

else

range(

"b:b"

).clearcontents

msgbox "proname不能為空"

endifend

sub

在c#中,r=new random() 等於 r=new random(datetime.now),這樣取隨機數也沒問題,但對於應用更為廣泛的c#來說,如果是客戶端裡這樣取的話,那麼所有客戶端在同一時間內取到的隨機數都是一樣的。

所以客戶端裡的隨機數最好這樣取:

private

string

createrandomcode

(int codecount)

return rancode;

}

總結:guid.newguid().gethashcode()對於同一時間內每台機器都是不同的,這樣取到的隨機數不會造成上述問題。

MySQL中如何取隨機數

現在,假設需要產生234到5678之間的隨機整數,mysql下怎麼實現。我們無法改mysql下rand的產生值,但我們可以改變我們的需求,1 我們需要最小是234,最大是5678,rand產生的最小是0,最大是1,我們需求的數減去234看看?最小數234 234 0,最大數5678 234 5444...

ojbc 取隨機數

隨機數的使用 1 arc4random 比較精確不需要生成隨機種子 使用方法 通過arc4random 獲取0到x 1之間的整數的 如下 int value arc4random x 獲取1到x之間的整數的 如下 int value arc4random x 1 2 ccrandom 0 1 coc...

PHP 取隨機數

假設 有四個選項 a 佔 10 b佔20 c佔30 d 佔 40 原理就是現獲取隨機數,然後找區間。當然了,選項的數量可以任意。目前預設是 總和是 100 如果需要別的數,修改 隨機數的範圍即可。這個演算法,比較簡單,效率也還算高。當然因為是 rand 所以產生的是偽隨機數,不是真正意義上的隨機,能...