Get a random number focused on center(获取一个集中在中心的随机数)
问题描述
是否可以得到1-100之间的随机数,并将结果主要保持在40-60范围内?我的意思是,它很少会超出这个范围,但我希望它主要在那个范围内...... JavaScript/jQuery 有可能吗?
Is it possible to get a random number between 1-100 and keep the results mainly within the 40-60 range? I mean, it will go out of that range rarely, but I want it to be mainly within that range... Is it possible with JavaScript/jQuery?
现在我只使用基本的 Math.random() * 100 + 1
.
Right now I'm just using the basic Math.random() * 100 + 1
.
推荐答案
最简单的方法是生成两个 0-50 的随机数并将它们相加.
The simplest way would be to generate two random numbers from 0-50 and add them together.
这给出了一个偏向 50 的分布,以同样的方式将两个骰子偏向 7.
This gives a distribution biased towards 50, in the same way rolling two dice biases towards 7.
事实上,通过使用更多的骰子",(正如@Falco 建议的那样),您可以更接近钟形曲线:
In fact, by using a larger number of "dice" (as @Falco suggests), you can make a closer approximation to a bell-curve:
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/
这篇关于获取一个集中在中心的随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:获取一个集中在中心的随机数
基础教程推荐
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01