质数是只能被 1 和它本身整除的正整数。例如,2、3、5、7、11 是前几个质数。
示例:检查质数
// program to check if a number is prime or not
// take input from the user
const number = parseInt(prompt("Enter a positive number: "));
let isPrime = true;
// check if number is equal to 1
if (number === 1) {
console.log("1 is neither prime nor composite number.");
}
// check if number is greater than 1
else if (number > 1) {
// looping through 2 to number/2
for (let i = 2; i <= number/2; i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
console.log(`${number} is a prime number`);
} else {
console.log(`${number} is a not prime number`);
}
}
// check if number is less than 1
else {
console.log("The number is not a prime number.");
}
输出
Enter a positive number: 23 23 is a prime number.
在上面的程序中,会提示用户输入一个数字。使用 if...else if... else
语句检查用户输入的数字是否大于 1。
- 1 被认为是既不是质数也不是合数。
- 所有负数都被排除在外,因为质数是正数。
- 大于 1 的数字使用
for
循环进行测试。
for
循环用于迭代正数,以检查用户输入的数字是否可被正数(从 2 到用户输入的数字的一半)整除。
条件 number % i == 0
检查该数字是否可被 1 和它本身以外的数字整除。
- 如果余数值评估为 0,则该数字不是质数。
isPrime
变量用于存储布尔值:true 或 false。- 如果该数字不是质数,则将
isPrime
变量设置为 false。 - 如果该数字是质数,则
isPrime
变量保持为 true。
另请阅读