素数是只能被 1 和它本身整除的正整数。例如,2、3、5、7、11 是前几个素数。
例如,4 不是素数,因为它可以被 1、2 和它本身 4 整除。它是一个合数。
示例:打印素数
// program to print prime numbers between the two numbers
// take input from the user
const lowerNumber = parseInt(prompt('Enter lower number: '));
const higherNumber = parseInt(prompt('Enter higher number: '));
console.log(`The prime numbers between ${lowerNumber} and ${higherNumber} are:`);
// looping from lowerNumber to higherNumber
for (let i = lowerNumber; i <= higherNumber; i++) {
let flag = 0;
// looping through 2 to user input number
for (let j = 2; j < i; j++) {
if (i % j == 0) {
flag = 1;
break;
}
}
// if number greater than 1 and not divisible by other numbers
if (i > 1 && flag == 0) {
console.log(i);
}
}
输出
Enter lower number: 2 Enter higher number : 10 The prime numbers between 2 and 10 are: 2 3 5 7
在上面的程序中,会提示用户输入区间范围的下限和上限。然后列出这两个数字之间(包括下限和上限,如果有)的所有素数。
程序中使用了两个嵌套的 for
循环。
- 第一个
for
循环用于遍历用户输入的数字范围。在本例中,是从 2 到 10。 - 将变量 flag 设置为 0。
- 第二个
for
循环用于遍历从 2 到存储在 i 中的数字。 - 在第二个循环中,将 i 的值除以从 2 到比 i 小一(i - 1)的所有数字。
- 在除法过程中,如果任何数字的余数为 0,则该数字不是素数。因此,将变量 flag 设置为 1。
- 最后,打印所有 flag 为 0 的数字(即不能被其他数字整除的数字)。
另请阅读