小编典典

获取一个集中在中心的随机数

all

是否有可能得到一个1-100之间的随机数并将结果主要保持在40-60范围内?我的意思是,它很少会超出这个范围,但我希望它主要在那个范围内......
JavaScript/jQuery 是否有可能?

现在我只使用基本的Math.random() * 100 + 1.


阅读 65

收藏
2022-05-27

共1个答案

小编典典

最简单的方法是生成两个 0-50 的随机数并将它们相加。

这给出了一个偏向 50 的分布,以同样的方式将两个骰子偏向 7。

事实上,通过使用更多的“骰子” (正如@Falco 建议的那样) ,您可以更接近钟形曲线:

function weightedRandom(max, numDice) {
    let num = 0;
    for (let i = 0; i < numDice; i++) {
        num += Math.random() * (max/numDice);
    }    
    return num;
}

加权随机数

JSFiddle:http: //jsfiddle.net/797qhcza/1/

2022-05-27