质数是一个只能被1和其自身整除的正整数。例如,2,3,5,7,11是第几素数。
例如, 4不是质数,因为它本身可以被1、2和4整除。它是一个复合数字。
示例:打印素数
// program to print prime numbers between the two numbers
// take input from the user
let lowerNumber = parseInt(prompt('Enter lower number: '));
let 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 - 变量标志设置为0 。
- 第二个
for
循环用于在2到i中存储的数字之间循环。 - 在第二个循环内, i的值除以2的每个数字,得到比i小 (i-1)的值。
- 在除法时,如果任何数字余数得出0 ,则该数字不是质数。因此变量标志设置为1。
- 最后,将打印所有带有标志0 (不能被其他数字整除)的数字。