如何找到素数的位置

时间:2018-10-18 16:06:23

标签: javascript numbers primes

嘿,我在这里有一个示例,该示例显示输入的素数的值,但是我想输入任何数字以显示非素数和除数或素数的位置。例如,如果我输入263,则它将输出61,因为263是第61个质数。如果输入的数字不是质数,例如6,它将输出除数。

<!DOCTYPE html>
<html>

<head>
  <script>
  </script>
</head>

<body>

  Input value: <input type="text" name="inputValue" id="inputValue" />
  <button onclick="generatePrime()">Prime number</button>
  <div id="returnValue">Test: </div>
  <script>
    function nextPrime(value) {
      if (value > 2) {
        var i, q;
        do {
          i = 3;
          value += 2;
          q = Math.floor(Math.sqrt(value));
          while (i <= q && value % i) {
            i += 2;
          }
        } while (i <= q);
        return value;
      }
      return value === 2 ? 3 : 2;
    }


    function generatePrime() {
      var userValue = document.getElementById("inputValue").value;
      var value = 0,
        result = [];
      for (var i = 0; i < userValue; i++) {
        value = nextPrime(value);
        result.push(value);
      }
      document.getElementById("returnValue").innerHTML = result[userValue - 1];
    }
  </script>
</body>

</html>

0 个答案:

没有答案