论坛首页 入门技术论坛

有段代码看不懂,帮忙解释下.谢谢

浏览 2210 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-25  

<script type="text/javascript">
  <!--
  var tc=10000;
  var tn=0;
  for(var i=0;i<tc;i++){
  var p1=Math.random();
  var p2=Math.random();
  var s1=Math.min(p1,p2);
  var s2=Math.max(p1,p2)-s1;
  var s3=1-s1-s2;
  if(s1>=0.5||s2>=0.5||s3>=0.5) continue;
  tn++;
  }
  alert(tn/tc);
//-->
  </script>
   发表时间:2007-12-25  
也就是说在随机数当中,符合判断的大概占到60%的几率进行continue动作
0 请登录后投票
   发表时间:2007-12-25  
找出两个数 一个大于0.5 一个小于0.5 两数之差小于0.5.
用这个可能是在检验随机数的发生器.

ps:2007年的考研试题有一个就是求两数(在(0,1)里面)之差绝对值小于0.5的概率的.
  • 大小: 7 KB
0 请登录后投票
   发表时间:2007-12-25  
contionue 应该是这样的continue;
0 请登录后投票
   发表时间:2007-12-25  
明白了,也可以验证0-1之间随机产生的数字中,能组成三角形的概率.
谢谢大家,特别是 yujiang
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics