Math.round(Math.random()*9+1)的问题,怎么现在才发现...用Math.round(Math.random()*9+1) 模拟一亿次.从左到右依次对应1到10的出现次数的概率分布如下:5550975,11110994,11109952,11107453,11113482,11106273,11112448,1111363

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/20 05:32:06
Math.round(Math.random()*9+1)的问题,怎么现在才发现...用Math.round(Math.random()*9+1) 模拟一亿次.从左到右依次对应1到10的出现次数的概率分布如下:5550975,11110994,11109952,11107453,11113482,11106273,11112448,1111363
xTN@<0f"AKVJӐ@ ; &]'~n*ղٙ33gfz4>}36҃HeO>˚̕xۏJMQ;@u=*܋[[9˯[:ď=7Ep̻kT@@14bro2* F$o.O19Lϳ42C Le2-5ư,My<1+@z"҃ƘM\F}xykW_h$: 8_AwvwrWY !A}PR 0"^Jq_YK(I9t{6N^S /+ÙA¢jm xJ1ll0$_4 \*X\ښJ 00(Vue * G(SaݳT`|z߄"ŐhЉ&TseVT3CyR[/ƹ*?$8`9_aYL5@-/|5SyWa%TgƍM;%wwWsɺbYIA&$RY0l$wZ?hl%6 J';&

Math.round(Math.random()*9+1)的问题,怎么现在才发现...用Math.round(Math.random()*9+1) 模拟一亿次.从左到右依次对应1到10的出现次数的概率分布如下:5550975,11110994,11109952,11107453,11113482,11106273,11112448,1111363
Math.round(Math.random()*9+1)的问题,怎么现在才发现...
用Math.round(Math.random()*9+1) 模拟一亿次.
从左到右依次对应1到10的出现次数的概率分布如下:
5550975,11110994,11109952,11107453,11113482,11106273,11112448,11113637,11113936,5560850
瞧瞧两头.我以前一直都是用的这句代码来产生随机数=.=
后面我又用 Math.ceil(Math.random() * 10)
和 Math.floor(Math.random() * 10+1) 分别模拟了一亿次,概率分布都很正常~
Math.ceil(Math.random() * 10)
9999674,10002663,9992580,9997330,10002808,10003604,9998316,9999602,10002274,10001149
Math.floor(Math.random() * 10+1)
9998578,10000592,9995001,10003015,9999125,10001943,9999776,9999089,10002336,10000545
其实不用模拟一亿次,模拟1000次就可以看出来了.

Math.round(Math.random()*9+1)的问题,怎么现在才发现...用Math.round(Math.random()*9+1) 模拟一亿次.从左到右依次对应1到10的出现次数的概率分布如下:5550975,11110994,11109952,11107453,11113482,11106273,11112448,1111363
round()方法通俗的说就是四舍五入,也就是生成的结果在1-1.4.之间就等于1,
1.5-2.4.之间等于2
.
9.5-10之间等于10
所以头尾出现的分布区间只有其他数字的一半,你现在得到的结果很正常