摘要:歡迎訪問我的個人博客前言今天我們來做一個有趣的測試,那就是我們在某個范圍之間取隨機數時,每項被隨機到的概率是否相等。
歡迎訪問我的個人博客:http://www.xiaolongwu.cn
前言今天我們來做一個有趣的測試,那就是我們在某個范圍之間取隨機數時,每項被隨機到的概率是否相等。
隨機方法我們都知道Math.random()的結果是[0, 1)之間的小數,結果包括0但是不包括1。
那么很簡單就會想到Math.random() * n的結果是[0, n)之間的小數,結果包括0但是不包括n。
那么parseInt(Math.random() n)的結果就是[0, n)之間的正整數, parseInt(Math.random() n + 1)的結果就是[1, n+1)之間的正整數。
那么parseInt(Math.random() * (m - n) + n)的結果就是[n, m)之間的正整數。
開始證明我們首先寫一個方法,隨機7500個在a和b之間的數。
function randomArr(a, b) { var obj = {} for (let i = 0; i < 7500; i++) { const n = parseInt(Math.random() * (b - a) + a); if (!obj[n]) { obj[n] = 1; } else { obj[n] ++; } } console.log(obj) } randomArr(5, 10) randomArr(5, 15) randomArr(5, 20)
結果如下:
由此,我們大致能得出結論,隨機數的每項概率基本是相等的;
github資源地址:js基礎--測試隨機數的概率是否相等
我的CSDN博客地址:https://blog.csdn.net/wxl1555
如果您對我的博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同學習進步。
郵箱:wuxiaolong802@163.com
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100899.html
摘要:正確的思路是等概率隨機只取出共個數,每個數出現的概率也是相等的隨機輸出把一段代碼改成,并增加單元測試。代碼本身很簡單,即使沒學過也能看懂,改后的代碼如下但是對于單元測試則僅限于聽過的地步,需要用到,好像也有別的模塊。 在拉勾上投了十幾個公司,大部分都被標記為不合適,有兩個給了面試機會,其中一個自己覺得肯定不會去的,也就沒有去面試,另一個經歷了一輪電話面加一輪現場筆試和面試,在此記錄一下...
摘要:生成隨機數的方案網上有很多,但是在驗證概率的時候卻發現不相同先把這種類型的隨機正整數生成方式貼出來。 生成隨機數的方案網上有很多,但是在驗證概率的時候卻發現不相同先把這4種類型的隨機正整數生成方式貼出來。 ①、// 生成 [n,m),包含n但不包含m的正整數: --?? parseInt(Math.random()*(m-n)+n) ②、// 生成(n,m],不包含n但包含m的正整數:...
摘要:另外,這幾篇幾個不錯的隨機生成隨機數采用對獲取的浮點數進行取整操作,也是同樣的問題,能取到左端點,卻無法取到右端點。 最近在琢磨內置對象Math的時候,參考了很多網上資料,不過我在Google中搜索js 隨機整數,出來很多博客文章,很遺憾,在我看來排名靠前的這些文章都是錯誤的。接下來我將會論證我這一觀點,同時把我所理解的Math.random()方法跟你分享。showImg(https...
摘要:在學習過程中,神經網絡的突觸權重會以一種有序的方式進行修改,從而實現所需的目標。中間單元的數量被稱為網絡所用的片的數量。 隨著神經網絡的進化,許多過去曾被認為不可想象的任務現在也能夠被完成了。圖像識別、語音識別、尋找數據集中的深度關系等任務現在已經變得遠遠更加簡單了。在此向這一領域的杰出的研究者致以真誠的謝意,正是他們的發現和成果幫助我們利用上了神經網絡的真正力量。如果你真正對追求機器學習這...
閱讀 1261·2021-09-02 13:36
閱讀 2714·2019-08-30 15:44
閱讀 2972·2019-08-29 15:04
閱讀 3193·2019-08-26 13:40
閱讀 3643·2019-08-26 13:37
閱讀 1172·2019-08-26 12:22
閱讀 1003·2019-08-26 11:36
閱讀 1214·2019-08-26 10:41