日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

几种简单的随机数算法「建议收藏」(汉典几字的基本解释)

發布時間:2023/12/19 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 几种简单的随机数算法「建议收藏」(汉典几字的基本解释) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(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游戲編程從零開始》 作者:毛星云

總結

以上是生活随笔為你收集整理的几种简单的随机数算法「建议收藏」(汉典几字的基本解释)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。