Js 控制隨機數概率

2022-03-16 11:57:53 字數 1557 閱讀 4029

(新)控制隨機數概率:演算法精簡了一下

如:取 1~10 之間的隨機數,那麼他們的取值範圍是:

整數區間概率1

[0,1)

0.12

[1,2)

0.13

[2,3)

0.14

[3,4)

0.15

[4,5)

0.16

[5,6)

0.17

[6,7)

0.18

[7,8)

0.19

[8,9)

0.110

[9,10)

0.1如果調整2的概率為0.5,那麼1~10之間的隨機數取值區間與其它值的概率都會發現變化 如下:

最小取值範圍 = 0

最大取值範圍 = 最小取值範圍  + 概率 * 10(分成10份)

整數區間概率1

[0,0.55)

≈ 0.055

2[0.55,5)

0.53

[5,5.55)

≈ 0.055

4...

≈ 0.055

5...

≈ 0.055

6...

≈ 0.055

7...

≈ 0.055

8...

≈ 0.055

9...

≈ 0.055

10...

≈ 0.055

然後呼叫隨機函式生成1~10之間的隨機數,如果生成的隨機數在某個整數的取值範圍內,那麼就輸出當前整數。

/*

* @author: 破殼而出的蝌蚪

* @部落格:

* @date: 2019-01-03 15:03:33

* @last modified by: mikey.zhaopeng

* @last modified time: 2019-01-03 15:04:17

*/'use strict';

class glrandom min 最小整數值

* @param max 最大整數值

* @param percentage 概率數 [值,百分比]

*/constructor(min, max, percentage = new map())

get percentage()

return this._percentage;

}/**

* 分配比例

* @param map 設定 值-百分比

*/set percentage(map) , 1);

for (let i = this.min; i < this.max; i++) else }}

/*** 根據比例生成取值範圍

*/range()

}/**

* 生成隨機數

*/create()

}return null;

}}

// 樣本

js隨機數設定概率

有時候需要產生隨機數。並讓這些隨機數出現以概率的方式出現 下面舉個例子 隨機產生1 8的整數,希望1的概率是50 2的概率是10 3的概率是10 4的概率是10 5的概率是5 6的概率是5 7的概率是5 8的概率是5 想法 先隨機1 100的隨機整數 然後出現的隨機數在1 50的概率為50 由此可以...

概率 隨機數演算法

int generate01 int func else if num1 0 num2 1 return ret int generaterandomnum int max int bit num 0,i 0 int result 0 while 0x01 bit num max bit num w...

Eddy Walker(隨機數猜概率)

題意 n個點的環,初始在0,可以隨機向前向後,n個位置都走完,最後停在m的概率,最後輸出前i組概率的乘積 題解 打表發現,1 n 1的點概率為 include include include include include include include include include includ...