质数是只能被两个数整除的数: 1 和它本身。所以,如果任何数能被任何其他数整除,它就不是质数。
示例 1: 使用 for 循环检查素数的程序
public class Main { public static void main(String[] args) { int num = 29; boolean flag = false; for (int i = 2; i <= num / 2; ++i) { // condition for nonprime number if (num % i == 0) { flag = true; break; } } if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } }
输出
29 is a prime number.
在上面的程序中,for循环用于判断给定的数
num是否为素数。
这里,请注意我们是从 2 循环到 num/2、这是因为一个数不能被它的一半整除。
在
如果 num 是可整除的,flag 被设置为 for
循环中,我们检查该数字是否可以被给定范围
(2...num/2)
中的任何数字整除。
true
并且我们跳出循环。这确定 num 不是素数。
如果 num 不能被任何数整除,flag 为假,num 为素数。
示例 2: 使用 while 循环检查素数的程序
public class Main { public static void main(String[] args) { int num = 33, i = 2; boolean flag = false; while (i <= num / 2) { // condition for nonprime number if (num % i == 0) { flag = true; break; } ++i; } if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); } }
输出
33 is not a prime number.
在上面的程序中,使用while循环代替for循环。循环一直运行到
i <= num/2
。在每次迭代中,检查
num 是否可以被
i 整除,并且
i 的值加 1、
访问此页面了解如何显示两个区间之间的所有素数.