1樓:匿名使用者
為了公平
rnd產生的是0-1之間的隨機數,那麼如果不假0.5會怎麼樣?很明顯產生的就是0(可以等於0)-1(小於1而不等於1)的數字,而且這個數再用上int函式就會變成0,永遠是0。
那麼怎麼解決呢,答案這樣做的目的就是產生0.5-1.5之間的數字,隨機的,這樣就可以公平了,如果數字小於1(0.
5-0.9999。。。。。),用int函式後就是0,如果數字大於1(1-1.
4999。。。。。),用int函式後就是1,注意的是兩邊的數字數量一致,所以是等概率的。
2樓:匿名使用者
r = int(rnd + 0.5)
rnd 函式的隨機數為 [0-1]之間的數,則rnd + 0.5為 [0.5-1.5]
int(n)表示取n的整數,0.5-1 為0 而1-1.5 為1加0.5使出現0和1的概率相同
3樓:匿名使用者
rnd*(上限-下限+1)+下限,要出現1和0可以這樣:
int(rnd*(1-0+1)+0),即是int(rnd*2)
int(rnd*2)和int(rnd + 0.5)都可以得1 0,不過還是不太明白為什麼用int(rnd + 0.5)
一道英語語法填空,一道語法填空
你是問為什麼 he has married to sunetra 不對,是吧?因為marry作及物動詞時,後面直接加人名。而be married的後面要加to。看看你的原文就清楚了。第九題是用的現在完成進行時 表示過去開始 到現在還在持續 沒有結束 很明顯文中他們的婚姻沒有結束。有什麼問題 不就是現...
求解一道VB題目,一道vb題目求解。
由圖上 經執行所得值如下 a 3,2 的值是 1,a 1,2 的值是9,a 2,3 的值是 7.如下圖所示 我只能看懂vb vb的除錯那些不太熟。我用c語言寫了乙個一樣的程式,把每一步的計算過程輸出出來了,你看一下。下面是c語言的 有興趣你可以自己去執行一下看看。include int main 宣...
一道VB試題
你把 print a i 放在了for 迴圈外面因此當你執行print a i 時,這時 i 為11.而你定義的為a 10 於是出現下標越界 修改如下 測試通過 private sub command1 click dim a 10 as integer,i as integerfor i 1 to...