vb中,怎樣產生1 n之間的隨機整數

2022-01-03 16:03:28 字數 6182 閱讀 3800

1樓:匿名使用者

看看這個,你一定會懂的:

rnd函式 返回

返回一個包含隨機數值的 single。

語法rnd[(number)]

可選的 number 引數是 single 或任何有效的數值表示式。

返回值如果 number 的值是 rnd 生成

小於 0 每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 序列中的下一個隨機數。

等於 0 最近生成的數。

省略 序列中的下一個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前一個數作為下一個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

注意 若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。

比如產生1-100之間的數:

int((100 - 1 + 1) * rnd + 1)

int((upperbound - lowerbound + 1) * rnd + lowerbound)

以後共同學習!!!

2樓:

x = int (rnd()*6 + 1) 這個才對rnd * 6 能產生 0-5的數字,由於後面再 + 1所以int整取後就成了 1-6

所以應該是這個才對

3樓:聽不清啊

vb的rnd函式,可以產生偽隨機的一個純小數。

要得到1~n之間的隨機整數,可以配合取整函式int:

x=int(rnd*n)+1

就可以了。其中,rnd*n就得到了0

0<=x'<=n-1的整數。再加上1,就成了1<=x<=n了。

為了在不同的執行時能得到不同的隨機整數,可以在使用rnd函式之前,加上語句randomize,就可以利用系統時鐘作為隨機數種子,使得每次執行能得到不同的隨機整數序列了。

例如:randomize

for i = 1 to 10

x = int(rnd*n) + 1

print x;

next i

4樓:匿名使用者

rnd函式是產生0~1之間的一個數。

要產生1~n之間

rnd*(n-1)+1

或者m~n之間

rnd*(n-m)+m

5樓:我ai海燕

x=fix(rnd*100)

6樓:匿名使用者

z=int (100*rnd)+1 是正確的

vb程式,要產生[1,99]區間的隨機整數,應該如何實現

7樓:匿名使用者

int(rnd*99+1)函式產生的是【1,99】區間的隨機整數,需要多個這樣的隨機整數,那就與迴圈語句和陣列配合使用。

例如產生10個【1,99】區間的隨機整數存放在陣列a中dim a(10) as integer

randomize

for i=1 to 10

a(i)=int(rnd*99+1)

next i

rnd函式產生0.*******的隨機數,int函式返回不大於其引數的整數,所以求【a,b】區間的隨機整數可以用表示式:int(rnd*(b-a+1)+a)

8樓:陽光微涼

private sub form_click()

randomize

for i = 10 to 99

n = int(rnd * i + 10)

next

print n

end sub

追問:int(n)不是返還整數嗎?隨機的會產生非整數嗎?

如果不加int直接rnd * 90 + 10可以嗎?

還有,既然是for i = 10 to 99,為什麼後面還要+10呢?

回答:隨機 當然會產生 非整數! 其原理是 rnd 是 代表小於1 ,大於或等於0 之間的任意一個數。

咱們假設 rnd隨機 了 一個數是 0 那麼 n=int(rnd*i+10) 是多少?

就是 0*i+10 最小的數是 10.

也就達到了你那個範圍 10----99 不過我那個答案 寫錯了 應該是這樣:

private sub form_click()

randomize

for i = 10 to 90

n = int(rnd * i + 10)

next

print n

end sub

9樓:匿名使用者

public class client

// ...}

10樓:匿名使用者

都已經採納了 為什麼不關閉

vb設計程式,從文字框中輸入一個整數n(n<500),單擊處理按鈕時產生3個1~n的隨機整數

11樓:匿名使用者

private sub command1_click()label1.caption = 1 + int(rnd * val(text1.text))

label2.caption = 1 + int(rnd * val(text1.text))

label3.caption = 1 + int(rnd * val(text1.text))

end sub

12樓:笑年

private sub command1_click()dim plate as integer

dim a(3) as integer

randomize

plate = val(text1.text) - 1for i = 1 to 3

a(i) = int(rnd() * plate + 1)next

label1.caption = a(1)label2.caption = a(2)label3.caption = a(3)end sub

vb如何生成隨機數

13樓:飛喵某

1、開啟「microsoft visual basic 6.0 中文版」軟體,準備一個空白的工程檔案:

2、然後需要一個命令按鈕,單擊左側工具箱中的「命令按鈕」,在窗體中右側拖動滑鼠左鍵畫出即可:

3、雙擊該命令按鈕,這裡演示輸入**列印0~10之間的任意隨即整數,生成其他範圍的隨機整數公式為「int((上限-下限+1)*rnd+下限)」,如果是1到53就是「int((1-53+1)*rnd+53」:

4、寫完之後執行程式,每單擊一次命令按鈕,就會在窗體上列印一個0~10之間的隨即整數:

14樓:匿名使用者

1、隨機生成數生成通式:

randomize      『必要**,不然的話每次隨機生成都是一樣的數

a=int(rnd*(m-n+1))+n   』   其中m>n生成n~m間(包括n,m)的隨機整數

假如我想隨機生成20-100間 ,那麼就是n=20,m=100

**是int(rnd*(100-20+1))+20

2、**:

private sub command1_click()

clsdim n as integer

dim wzs(10) as integer

n = 1

while n <= 10

wzs(n) = int(rnd * 1000)

n = n + 1

wend

n = 1

while n <= 10

print wzs(n)

n = n + 1

wend

擴充套件資料

隨機數是專門的隨機試驗的結果。

在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。

產生隨機數有多種不同的方法。這些方法被稱為隨機數生成器。隨機數最重要的特性是它在產生時後面的那個數與前面的那個數毫無關係。

參考資料

15樓:新時代向前衝

其實隨機生成數很簡單:

randomize   『必要**,不然的話每次隨機生成都是一樣的數

a=int(rnd*(m-n+1))+n   』其中m>n生成n~m間(包括n,m)的隨機整數

假如我想隨機生成20-100間

那麼就是n=20,m=100

**是int(rnd*(100-20+1))+20

visual basic(簡稱vb)是microsoft公司開發的一種通用的基於物件的程式設計語言,為結構化的、模組化的、物件導向的、包含協助開發環境的事件驅動為機制的視覺化程式設計語言。是一種可用於微軟自家產品開發的語言。 [1]

「visual」 指的是開發圖形使用者介面 (gui) 的方法——不需編寫大量**去描述介面元素的外觀和位置,而只要把預先建立的物件add到螢幕上的一點即可。 「basic」指的是 basic (beginners all-purpose symbolic instruction code) 語言,是一種在計算技術發展歷史上應用得最為廣泛的語言。

visual basic源自於basic程式語言。vb擁有圖形使用者介面(gui)和快速應用程式開發(rad)系統,可以輕易的使用dao、rdo、ado連線資料庫,或者輕鬆的建立active x控制元件,用於高效生成型別安全和麵向物件的應用程式 [2]  。程式設計師可以輕鬆的使用vb提供的元件快速建立一個應用程式。

16樓:匿名使用者

vb隨機數生成函式是 rnd[(number)],number 引數為可選項。在呼叫 rnd 生成隨機數之前,先使用 randomize 初始化隨機數生成器來產生種子,該生成器是根據系統計時器來產生種子的

17樓:

通過一個函式random,就會生成你需要的隨機數,希望對你有幫助

18樓:

將以下**輸入即可

private sub form_click() '窗體click()事件

randomize

'防止每次生出隨機數一樣

print int(rnd * 53) + 1'rnd()生成[0,1)的隨機數,int()是取整end sub

改text1的font屬性,那有改字號的

19樓:匿名使用者

'下面**產生不重複的隨機數

private sub command1_click()

dim a(1 to 53) as string, tmp as integer

dim i as integer, j as integer, k as integer

for i = 1 to 53 '先按順序編號

a(i) = i

next

randomize timer

for i = lbound(a) to ubound(a) '共執行53次

j = rnd * 52 + 1 '產生第一個隨機數

k = rnd * 52 + 1 '產生第二個隨機數

'把這二個數的數值交換,以達到打亂次序的目的

tmp = a(j)

a(j) = a(k)

a(k) = tmp

next

text1.font.size = 18 '字型變大

text1.text = join(a, ",") '產生的隨機陣列顯示到text1.text上

end sub

1N的水能否產生大於1N的浮力

暈哦,樓上幾位 無言 1n的水就是0.1kg 取g 10 根據水的密度,水的體積是1 10 4立方米,當它們全被排開時 事實上不可能 產生的浮力為1n。這是理想情況下的計算結果,而事實上,g小於10,所以它們說產生的浮力是小於1n的。仔細想象,這就是水只能浮起平均密度比水小的物體 別跟我說鐵船,船裡...

vb中怎樣實現計算1n的奇偶數之和n為自然數

及註釋如下 復 private sub mand1 click for i 1 to n i從1到n迴圈 if i mod 2 0 then 利用制mod函式來判bai斷i的值是偶du數還是奇zhi數 oushuhe oushuhe i 如果是偶數,就將其累加dao到oushuhe變數中else j...

vb中利用隨機函式產生100到999之間的整數構

和bai 1 樓不一 du樣,zhi我dao用到版 了權 text框 private sub mand1 click dim a 1 to 25 as integerdim i as integer text1.text for i 1 to 25 randomize a i int 900 rnd...