几种简单的随机数算法「建议收藏」(汉典几字的基本解释)
生活随笔
收集整理的這篇文章主要介紹了
几种简单的随机数算法「建议收藏」(汉典几字的基本解释)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1)產生一個范圍內的隨機數
j = (int)(100.0 * rand()/(RAND_MAX + 1.0))//產生0到100的隨機數
(2)篩選型隨機數
x = random(100);
while(x == 6){
x = random(100);
} //產生0 - 99的隨機數但不能是6
(3)從一段連續的范圍內取隨機數
x = random(11) + 40; //產生40-50范圍內的隨機數
產生一定范圍內的隨機數的通用算法公式:
- 要取得[a,b)范圍內的隨機整數,使用(rand() % (b – a)) + a (結果值包含a不包含b)
- 要取得[a,b]范圍內的隨機整數,使用(rand() % (b – a + 1)) + a(結果值包含a,b)
- 要取得(a,b]范圍內的隨機整數,使用(rand() % (b – a)) + a + 1(結果值包含b不包含a)
- 即(通用公式:a + rand()%n;取得[a,a+n)范圍內的隨機整數,其中a是起始值,n是整數的范圍)
- 要取得[a,b)范圍內的隨機整數,另一種表示:a + (int)(b – a) * rand() / (RAND_MAX + 1.0)
- 要取得[a,b]范圍內的隨機整數,另一種表示:a + (int)(b – a) * rand() / RAND_MAX
- 要取得[0,1]之間的浮點數,可以使用rand() / (double)RAND_MAX
可以用來設置裝備強化的成功率,副本裝備的掉落率,通關獎勵翻倍的概率,攻擊暴擊的概率,攻擊MISS的概率,夢幻西游里碰到變異寶寶的概率等。
總結:
- 計算機的偽隨機數是由隨機數種子根據一定的計算方法計算出來的數值,所以,只要計算方法一定,隨機種子一定,那么產生的隨機數就是固定的。
- 只要用戶或第三方不設置隨機種子,那么在默認情況下隨機種子值為1,來自系統時鐘
來源:《Windows游戲編程從零開始》 作者:毛星云
總結
以上是生活随笔為你收集整理的几种简单的随机数算法「建议收藏」(汉典几字的基本解释)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP 电商云 Spartacus UI
- 下一篇: 井底之蛙造句 井底之蛙的意思和图片