10.质数练习的改进.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. /*
  10. 打印出1-100之间所有的质数
  11. */
  12. //测试如下的程序的性能
  13. //在程序执行前,开启计时器
  14. //console.time("计时器的名字")可以用来开启一个计时器
  15. //它需要一个字符串作为参数,这个字符串将会作为计时器的标识
  16. console.time("test");
  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. //不加break,取消打印,时间265ms
  28. //加上break,取消打印,时间32ms
  29. //修改j<=Math.sqrt(i)后,时间为3ms
  30. }
  31. }
  32. //如果是质数,则打印i的值
  33. // if(flag){
  34. // console.log(i);
  35. // }
  36. }
  37. //终止计时器
  38. //console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
  39. console.timeEnd("test");
  40. //可以通过Math.sqrt()对一个数进行开方
  41. var result = Math.sqrt(49);
  42. console.log('result='+result);//输出结果为7
  43. </script>
  44. </head>
  45. <body>
  46. </body>
  47. </html>