嘿,我在这里有一个示例,该示例显示输入的素数的值,但是我想输入任何数字以显示非素数和除数或素数的位置。例如,如果我输入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>