![]() |
1
164
给定1到100之间的数字。
给定1到1000之间的数字。
等等。 因此,如果您随机选择一些数字,那么绝大多数选定的数字将具有相同的位数,因为绝大多数可能的值具有相同的位数。 |
![]() |
2
54
您的结果实际上是预期的。如果随机数在1到10^n的范围内均匀分布,那么您预计大约9/10的数字有n个数字,另外9/100的数字有n-1个数字。 |
![]() |
3
41
有不同类型的随机性。 Math.random 给你一个统一的数字分布。 如果你想要不同的数量级,我建议用一个指数函数来创建所谓的 power law distribution :
这个函数应该提供与2位数和3位数大致相同的1位数。 对于随机数也有其他分布,比如 normal distribution (也称为高斯分布)。 |
![]() |
4
18
以下文章解释了主要Web浏览器中的math.random()是如何(非)安全的: "Temporary user tracking in major browsers and Cross-domain information leakage and attacks" by Amid Klein (2008) . 它并不比典型的Java或Windows内置PRNG功能强。 另一方面,实现周期2^19937-1的sfmt需要为每个prng序列维护2496字节的内部状态。有些人可能认为这是不可原谅的代价。 |
![]() |
5
17
我觉得很随意! (提示:这取决于浏览器。) 就我个人而言,我认为我的实现会更好,尽管我从 XKCD ,应始终确认谁:
|
![]() |
6
5
如果使用10000000000000000这样的数字,则会超出JavaScript使用的数据类型的准确性。注意,所有生成的数字都以“00”结尾。 |
![]() |
7
5
|
![]() |
8
3
好吧,如果你生成的数字达到,比如说,1e6,你很有希望得到所有概率近似相等的数字。这也意味着你只有十分之一的机会得到一个少于一位数的数字。百分之一的概率会减少两位数,等等。我怀疑你在使用另一个RNG时会看到很大的不同,因为你在数字上有一个均匀的分布,而不是它们的对数。 |
![]() |
9
0
从1到n均匀分布的非随机数具有相同的性质。注意(在某种意义上)这是一个精确的问题。在0-99上的均匀分布(作为整数)有90%的数字有两位数。在0-999999上的均匀分布有905个数字,其中5个数字。 任何一组数字(在一些不太严格的条件下)都有密度。当有人想讨论“随机”数字时,应该指定这些数字的密度(如上所述)。常见的密度是均匀密度。还有其他一些:指数密度、法向密度等。在提出随机数生成器之前,必须选择与之相关的密度。而且,来自一个密度的数字通常可以通过龋齿的方式很容易地转换成另一个密度。 |
![]() |
ecology · 基于R中随机生成数集的子集列 2 年前 |
![]() |
Alan Jones · 使用random从列表创建动态列表 2 年前 |
![]() |
breking bed · 单击按钮时如何随机选择唯一编号 2 年前 |
![]() |
Carrot Man · 如何让熊猫数据框随机填充1和0? 3 年前 |
![]() |
Justin Arnold · 范围内的随机数不是随机数 3 年前 |
![]() |
Menna Magdy · 如何使用非模型字段进行过滤? 3 年前 |