用javascript代码来判断素数

JavaScript019

用javascript代码来判断素数,第1张

写了个小东西,希望对你有帮助

<html>

<head>

<script>

function show(){

var base=document.getElementById('base').value

isPrime(base)?alert(base+' 是素数'):alert(base+' 不是素数')

}

function isPrime(number) {

if (number <2) {

return false

} else {

for (var j = 2j <= Math.sqrt(number)j++) {

if (number % j == 0) {

return false

}

}

}

return true

}

function filter(obj) {

var r = /^\d+$/

var r2 = /\D+/

if (!r.test(obj.value)) {

obj.value = obj.value.replace(r2, '')

}

}

function filter2(obj){

var r2 = /\D+/g

clipboardData.setData('text',clipboardData.getData('text').replace(r2,''))

}

</script>

</head>

<body style="font-size:12px">

数字<input type='input' id='base' onkeyup='filter(this)' onbeforepaste="filter2()"/>

<br>

<input type="button" value="素数?" onclick="show()">

</body>

</html>

代码如下:

<!DOCTYPE html>

<html>

<head>

  <meta charset="utf-8" />

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <title>demo1</title>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <script type="text/javascript">

    function test() {

      var n = parseInt(document.getElementById("number").value)

      if (!n || n < 2) {

        alert('请输入一个大于1的数字。')

        return

      }

      if (isPrime(n)) {

        document.getElementById("result").innerText = n +'是一个质数。'

      } else {

        document.getElementById("result").innerText = n +'不是一个质数。'

      }

    }

    // 判断 number 是否是一个质数

    function isPrime(number) {

      if (number <= 1) {

        return false

      }

      for (var i = 2 i < number i++) {

        if (number % i == 0) {

          return false

        }

      }

      return true

    }

  </script>

</head>

<body>

  <h2>判断一个数是否为质数</h2>

  <input id="number" type="text" /><button onclick="test()">测试</button>

  <br />

  <div id="result"></div>

</body>

</html>

运行结果: