判断一个数是否为质数

 质数是指在大于1的自然数中,除了1和它自身外没有其他因数的自然数。

一、标记法,flag初始值为true,当n%i === 0时(1<i<n),说明n不是质数,此时flag值为false且循环终止;当n%i != 0 时,flag的值始终为true,此时会输出n是质数。

 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
    <script>
        function num(n){
            for(var i=2;i<n;i++){
              var flag=true
                if(n%i===0){
                    flag=false
                    document.write(n+'不是质数')
                    break
                }
            }
            if(flag){
                    document.write(n+'是质数')
                }
        }
        num(prompt('请输入一个数字'))
    </script>
</body>
</html>

 

二、计数法,计算n%i === 0 的次数(1<=i<=n),当count值为2时说明n为质数,当count>2时说明n不是质数。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <title>Document</title>
 7 </head>
 8 <body>
 9     <script>
10         function num(n){
11             var count=0
12             for(var i=1;i<=n;i++){
13                 if(n%i===0){
14                     count++
15                 }
16             }
17             if(count===2){
18                     document.write(n+'是质数')
19                 }
20                 else if(count>2){
21                     document.write(n+'不是质数')
22                 }
23         }
24         num(prompt('请输入一个数字'))
25     </script>
26 </body>
27 </html>

 输出一个区间的所有质数:https://www.cnblogs.com/strongerPian/p/12635632.html

posted @ 2020-04-05 01:42  strongerPian  阅读(1720)  评论(0编辑  收藏  举报
返回顶端