JavaScript 检查一个数是否为质数

JavaScript 检查一个数是否为质数

质数是只能被1和自身整除的数。前几个质数是:2,3,5,7,11,13,17…… 使用JavaScript的DOM模型来检查输入的数字是否为质数,并在屏幕上显示相应的警示消息。示例:

Input : 4
Output : Not Prime

Input : 5
Output : Prime

示例1: 该示例通过使用alert函数显示结果。

<!DOCTYPE html>
<html>
 
<head>
    <title>
        Check a number is Prime or
        not using JavaScript
    </title>
     
    <script type="text/javascript">
     
        // Function to check prime number
        function p() {
             
            var n, i, flag = true;
             
            // Getting the value form text
            // field using DOM
            n = document.myform.n.value;
            n = parseInt(n)
            for(i = 2; i <= n - 1; i++)
                if (n % i == 0) {
                    flag = false;
                    break;
                }
                 
                // Check and display alert message
            if (flag == true)
                alert(n + " is prime");
            else
                alert(n + " is not prime");
        }
    </script>
</head>
 
<body>
    <center>
        <h1>GeeksforGeeks</h1>
         
        <h4>check number is prime or not</h4>
         
        <hr color="Green">
         
        <form name="myform">
            Enter the number:
            <input type="text" name=n value="">
             
            <br><br>
             
            <input type="button" value="Check" onClick="p()">
            <br>
        </form>
    </center>
</body>
 
</html>

时间复杂度: O(n)

辅助空间: O(1)

输出:

  • 在检查数字之前:
    JavaScript 检查一个数是否为质数

  • 在检查数字之后:
    JavaScript 检查一个数是否为质数

示例 2: 此示例检查给定的数字是否为素数,并在控制台上显示结果。

<!DOCTYPE html>
<html>
 
<head>
    <title>
        Check a number is Prime or
        not using JavaScript
    </title>
     
    <style>
        body {
            border:2px solid black;
            width:400px;
            height:150px;
            text-align:center;
        }
        h1 {
            color:green;
        }
    </style>
     
    <script type="text/javascript">
     
        // Function to check for prime number
        function checkPrime() {
             
            var n, i, flag = true;
             
            // Getting the value from the
            // text field using DOM
            n = document.myform.n.value;
            n = parseInt(n)
            for (i = 2; i <= n - 1; i++)
                if (n % i == 0) {
                    flag = false;
                    break;
                }
                 
            // Check and display output
            if (flag == true)
                console.log(n + " is prime");
            else
                console.log(n + " is not prime");
        }
    </script>
</head>
 
<body>
        <h1>GeeksforGeeks</h1>
        <h4>check number is prime or not</h4>
     
        <form name="myform">
            Enter the number:
            <input type="text" name=n value="">
            <input type="button" value="Check" onClick="checkPrime()">
            <br>
        </form>
    </center>
</body>
 
</html>                                

时间复杂度:O(n)

辅助空间:O(1)

输出:

  • 在检查数字之前:
    JavaScript 检查一个数是否为质数

  • 在检查数字之后:
    JavaScript 检查一个数是否为质数

示例#3: 在这个示例中,我们将减少上述方法的时间复杂度。由于所有非数字都可以被比它小的质数整除,并且除2外的所有质数都是奇数,因此我们只需要使用奇数和2对数字进行取余来检查数字是否为质数。

<!DOCTYPE html>
<html>
 
<head>
    <title>
        Check a number is Prime or
        not using JavaScript
    </title>
     
    <script type="text/javascript">
         
        function check(p){
                for(let i = 3; i <= Math.sqrt(p); i+=2)
                if (p % i === 0) {
                    return true ; 
                }
            return false; 
            }
     
        // Function to check prime number
        function p() {
             
            var n;
             
            // Getting the value form text
            // field using DOM
            n = document.myform.n.value;
            n = parseInt(n)
             
            // Check and display alert message
            if( n % 2 === 0 )
                alert(n + " is not prime");
            else if(check(n))
                alert(n + " is not prime");
            else 
                alert(n + " is prime");
             
        }
    </script>
</head>
 
<body>
    <center>
        <h1>GeeksforGeeks</h1>
         
        <h4>check number is prime or not</h4>
         
        <hr color="Green">
         
        <form name="myform">
            Enter the number:
            <input type="text" name=n value="">
             
            <br><br>
             
            <input type="button" value="Check" onClick="p()">
            <br>
        </form>
    </center>
</body>
 
</html>

时间复杂度:O(sqrt(n))

辅助空间:O(1)

输出:

  • 点击按钮之前:

JavaScript 检查一个数是否为质数

  • 点击按钮后:

JavaScript 检查一个数是否为质数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程