当前位置: 代码迷 >> J2SE >> 为啥
  详细解决方案

为啥

热度:545   发布时间:2016-04-24 14:33:52.0
为什么
<script   language= "JavaScript "> <!--

//   The   Central   Randomizer   1.3   (C)   1997   by   Paul   Houle   (houle@msc.cornell.edu)

//   See:   http://www.msc.cornell.edu/~houle/javascript/randomizer.html

rnd.today=new   Date();

rnd.seed=rnd.today.getTime();

function   rnd()   {

    rnd.seed   =   (rnd.seed*9301+49297)   %   233280;

    return   rnd.seed/(233280.0);

};

function   rand(number)   {

    return   Math.ceil(rnd()*number);

};

//   end   central   randomizer.   -->

</script>


------解决方案--------------------
什么为什么
------解决方案--------------------
rnd.seed = (rnd.seed*9301+49297) % 233280;

    return rnd.seed/(233280.0);
???????????
------解决方案--------------------
没有什么特别意思,可能是这三个数产生的随机三列范围比较广。因为毕竟所谓的随机其实都是伪随机,所以要特别计算一下种子的获取方式。至于到底是怎么算出来的这三个数,其实我也困惑很久了。
------解决方案--------------------
没什么
------解决方案--------------------
bu dong
------解决方案--------------------
路过
------解决方案--------------------
lg
------解决方案--------------------
伪随即数原理-同余法 x=mod(j*x+k,m)其中,x称为种子,且x位于[0,m-1],当x取不同值是产生不同的随机数列。m越大随机性越好。
系统里的随机数是利用初等数论中的同余定理来实现的
------解决方案--------------------
jf
  相关解决方案