zoukankan      html  css  js  c++  java
  • JS基础_质数练习的改进,提高程序执行效率

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             
     8             
     9             //测试如下的程序的性能,在程序执行前,开启计时器,注意用外部浏览器测试,因为HBuilder内置的浏览器打印不出时间
    10             
    11             //-----------------------------------------------------------------------------------------
    12             
    13             //console.time("计时器的名字")可以用来开启一个计时器
    14             //它需要一个字符串作为参数,这个字符串将会作为计时器的标识
    15             console.time("test");
    16             
    17             //打印2-100之间所有的数
    18             for(var i=2 ; i<=10000 ; i++){
    19                 var flag = true;
    20                 for(var j=2 ; j<=Math.sqrt(i) ; j++){
    21                     if(i%j == 0){
    22                         //如果进入判断则证明i不是质数,修改flag值为false
    23                         flag = false;
    24                         //一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
    25                         //使用break来结束循环
    26                         break;
    27                         
    28                         //不加break            215ms
    29                         //加break              25ms
    30                         //改为j<=Math.sqrt(i)  2.6ms
    31                     }
    32                 }
    33                 //如果是质数,则打印i的值
    34                 if(flag){
    35                     console.log(i);
    36                 }
    37             }
    38              
    39             //终止计时器
    40             //console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
    41             console.timeEnd("test");
    42             
    43             
    44             /*
    45              * 36
    46              * 
    47              * 1 36
    48              * 2 18
    49              * 3 12
    50              * 4 9
    51              * 6 6
    52              * 
    53              */
    54             
    55             
    56             //可以通过Math.sqrt()对一个数进行开方
    57             var result = Math.sqrt(97);
    58             
    59             console.log("result = "+result)
    60             
    61             
    62         </script>
    63     </head>
    64     <body>
    65     </body>
    66 </html>
  • 相关阅读:
    Referenced file contains errors (http://www.springframework.org/...解决
    Echarts的提示(Tooltip)显示额外内容
    后端&前端零碎知识点和注意问题
    RocketMQ 4.5.1 双主双从异步复制环境搭建
    个人时间管理
    Windows系统封装教程
    你要如何衡量你的人生
    如何让你爱的人爱上你
    舔狗不会永远舔你的爱答不理和高冷
    关于小孩的教育问题
  • 原文地址:https://www.cnblogs.com/ZHOUVIP/p/7678989.html
Copyright © 2011-2022 走看看