• js 随机数


     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5     <title></title>
     6     <meta charset="utf-8" />
     7     <script>
     8         //取值范围min-max;
     9         //能随机到min和max[min,max]
    10         function rnd(min, max) {
    11             var tmp = min;
    12             if (max < min) { min = max; max = tmp; }//交换值
    13             return Math.floor(Math.random() * (max - min + 1) + min); //向下取整
    14         }
    15         for (i = 0; i < 10; i++) {
    16              document.write(rnd(5, 7)+"<br/>");
    17         }
    18 
    19     </script>
    20     <script>
    21         //取值范围min-max;
    22         //能随机到min 不能随机到max   [min,max)
    23         function rnd(min, max) {
    24             var tmp = min;
    25             if (max < min) { min = max; max = tmp; }//交换值
    26             return Math.floor(Math.random() * (max - min) + min); //向下取整
    27         }
    28         for (i = 0; i < 10; i++) {
    29              document.write(rnd(1,5) + "<br/>");
    30         }
    31     </script>
    32     <script>
    33         //取值范围min-max;
    34         //能随机到max 不能随机到min   (min,max]
    35         function rnd(min, max) {
    36             var tmp = min;
    37             if (max < min) { min = max; max = tmp; }//交换值
    38             return Math.ceil(Math.random() * (max - min) + min); //向上取整
    39         }
    40         for (i = 0; i < 10; i++) {
    41             document.write(rnd(1, 5) + "<br/>");
    42         }
    43     </script>
    44 
    45     <script>
    46         //取值范围min-max;
    47         //不能随机到min和max(min,max)
    48         function rnd(min, max) {
    49             var tmp = min;
    50             var temp;
    51             if (max < min) { min = max; max = tmp; }//交换值
    52             temp = Math.floor(Math.random() * (max - min + 1) + min); //向下取整
    53             if (min == temp) {
    54                 return min + 1;
    55             } else {
    56                 return temp;
    57             }
    58         }
    59     </script> 
    60     <!-- 
    61         var a = max/min;              a = 7;
    62         var xs = (a - 1);             xs = 7/1 - 1 = 6; 
    63         var x=(max-1.0001)/min-1      x ((7-1.0001)/1)-1 = 5.9995;     x/xs = 5.9995/6 = 0.99991
    64         (7 - 1) * (0.999 *(x/xs)))  = 6.9999   向上取整   ==6
    65          1 + 6 * (0.1 *(x/xs))  = 1.09991   向上取整      ==2
    66         原理是 最小数 + 最小数{(a-1)(随机数)(缩小比例x/xs)}
    67         1(1+6)(0.999*0.9999) =       
    68                 当min=1时候; a= max;
    69         -->
    70     <script>
    71         function rnd(min,max){
    72             var a = max / min;
    73             var xs = (a - 1);
    74             var x = (max - 1.0001) / min - 1;
    75             return Math.ceil(min * (1 + (a - 1) * (Math.random() *(x/xs))));
    76         }
    77         for (i = 0; i < 100; i++) {
    78             document.write("xxx开区间" + rnd(1,7) + "<br/>");
    79         }
    80 
    81     </script>
    82     <script>
    83         function rnd() {
    84 
    85             return parseInt(Math.random()*5); //取整     随机最大取5; 取值范围 5*(99%到0%)的数 (同上类似)
    86         }
    87         for (i = 0; i < 10; i++) {
    88             document.write(rnd() + "<br />");
    89         }
    90     </script></head>
    91 <body>
    92 
    93 </body>
    94 </html>
  • 相关阅读:
    求求你们了,别再写满屏的 try catch 了!
    你要的Netty常见面试题总结,我面试回来整理好了!
    动态代理原理剖析
    确定要面试问我JVM吗?我打算聊一个小时的!
    每天花2小时复习Java面试指南,高级架构视频,我进了阿里定级P7
    HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
    太厉害了,有人把《数据结构与算法》讲透了,面试大厂不在是问题,带源码笔记!
    你敢信一个HTTP能打趴80%面试者?
    MySQL硬核干货:从磁盘读取数据页到缓冲池时,免费链表有什么用?
    权限管理模块设计
  • 原文地址:https://www.cnblogs.com/enych/p/7644924.html
Copyright © 2020-2023  润新知