1樓:匿名使用者
請用下列函式返回:
' result()陣列用來存放生成的20個1~40的不重複隨機數。
private function showrnd(result() as integer)
dim temp(20) as integerdim result(20) as integerdim p, q as integer
dim isok as boolean
for p = 1 to 20
randomize
temp(p) =int(40 * rnd + 1)isok = false
do while not isok
for q = 1 to p
if temp(p) =temp(q - 1) thentemp(p) =int(40 * rnd + 1)isok = false
exit for
end if
isok = true
nextloop
result(p) =temp(p)
nextend function
vb關於隨機數的簡單問題
2樓:合萌茆綠凝
這個問題我研究過。
根據隨機函式rnd()可以返回一個(0,1)區間中的隨機小數,int((6*rnd)+1)是生成1到6之間的隨機數正確int((m*rnd)+n)是生成n到m之間的隨機數?錯誤事實上,int((m*rnd)+n)是生成n+m*0
到n+m*1-1
之間的數。即n到n+m-1之間的整數。用前例中的1和6套用也是正確的。
所以要生成n到m閉區間的整數,需要n+x-1=m解這個簡單方程就是x=m+1-n了。
造成這種問題的主要原因是int函式對正實數的操作可以理解成直接舍掉小數部分而不是四捨五入。
excel怎麼生成6位隨機數
飛喵某 1 首先開啟一個excel文件,選中任意一個單元格,在上方編寫公式 2 在excel中是使用rand函式可以生成隨機數,但是該函式預設是隻生成的範圍是0 1之間的隨機數,需要使用int函式來使隨機數強制轉換成整數,6位的隨機數需要在後面指定範圍為 900000 100000 具體的寫法是 i...
使用excel生成5位隨機數,Excel生成一列隨機數
在任一單元格輸入如下公式即可 rand 99999 10000 10000 單元格設定,小數位數為0.或者用round取整.按f9重新整理,會不斷隨即變化. 使用 randbetween 函式即可 要是無重複的話 就不能用這個了 大聖美猴王 用我的工具就可生成。 int rand 90000 999...
Excel生成0 1 2的隨機數,但是大於1 5的數為或者
首先把選項卡中的公式啟用迭代計算的勾打上。在b2單元格中錄入公式 if countif b2 b11,得到大於1.5的數為1個 如果要1.5的為1個或0個,用公式if or countif b2 b11,1.5 1,countif b2 b11,直接上圖,希望能幫到你 在a1中輸入或複製貼上下列公式...