Javascript 循环命令
Javascript loops opdracht
谁能帮我解决下面的问题我想不通…Javascript-loops.
编写一个脚本,在加载页面时通过提示输入一个数字。在控制台中,您显示下一个数字是质数。示例:如果我输入“20”,那么我会在控制台中得到“23”(因为 23 是质数并且大于 20)。
在此先感谢您的帮助。
使用 while-lus。如果数字不是素数,则继续添加数字直到它成为素数。然后console.log
这个数字。
const isPrime = num => {
for(let i = 2, s = Math.sqrt(num); i <= s; i++)
if(num % i === 0) return false;
return num > 1;
}
let input = prompt("Voer nummer in")
while (!isPrime(input)) {
input++
}
alert(input)
console.log(input)
// Function that returns true if n is prime else returns false
function isPrime(n) {
// Corner cases
if (n <= 1) return false;
if (n <= 3) return true;
// This is checked so that we can skip middle five numbers in below loop
if (n%2 == 0 || n%3 == 0) return false;
for (let i=5; i*i<=n; i=i+6) {
if (n%i == 0 || n%(i+2) == 0){
return false;
}
}
return true;
}
// Function to return the smallest prime number greater than N
function nextPrime(N) {
// Base case
if (N <= 1) {
return 2;
}
let prime = N;
let found = false;
// Loop continuously until isPrime returns true for a number greater than n
while (!found) {
prime++;
if (isPrime(prime)) {
found = true;
}
}
return prime;
}
// Driver code
const num = prompt()
console.log(nextPrime(num))
谁能帮我解决下面的问题我想不通…Javascript-loops.
编写一个脚本,在加载页面时通过提示输入一个数字。在控制台中,您显示下一个数字是质数。示例:如果我输入“20”,那么我会在控制台中得到“23”(因为 23 是质数并且大于 20)。
在此先感谢您的帮助。
使用 while-lus。如果数字不是素数,则继续添加数字直到它成为素数。然后console.log
这个数字。
const isPrime = num => {
for(let i = 2, s = Math.sqrt(num); i <= s; i++)
if(num % i === 0) return false;
return num > 1;
}
let input = prompt("Voer nummer in")
while (!isPrime(input)) {
input++
}
alert(input)
console.log(input)
// Function that returns true if n is prime else returns false
function isPrime(n) {
// Corner cases
if (n <= 1) return false;
if (n <= 3) return true;
// This is checked so that we can skip middle five numbers in below loop
if (n%2 == 0 || n%3 == 0) return false;
for (let i=5; i*i<=n; i=i+6) {
if (n%i == 0 || n%(i+2) == 0){
return false;
}
}
return true;
}
// Function to return the smallest prime number greater than N
function nextPrime(N) {
// Base case
if (N <= 1) {
return 2;
}
let prime = N;
let found = false;
// Loop continuously until isPrime returns true for a number greater than n
while (!found) {
prime++;
if (isPrime(prime)) {
found = true;
}
}
return prime;
}
// Driver code
const num = prompt()
console.log(nextPrime(num))