欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

判断一个数是否为质数

程序员文章站 2022-06-24 12:54:11
质数是指在大于1的自然数中,除了1和它自身外没有其他因数的自然数。 一、标记法,flag初始值为true,当n%i 0时(1

 质数是指在大于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为质数,当n>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