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>
原文地址:https://www.cnblogs.com/ZHOUVIP/p/7678989.html