原文: https://www.programiz.com/java-programming/examples/prime-number
在本文中,您将学习检查数字是否为质数。 这是使用 Java 中的for
循环和while
循环完成的。
质数是一个只能被两个数字整除的数字:1 和它本身。 因此,如果任何数字可被其他数字整除,则它不是质数。
示例 1:使用for
循环检查质数的程序
public class Prime {
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
是否为质数。 我们只需要遍历num
的 2 到一半,因为没有数字可被其一半以上的整数整除。
在for
循环内,我们检查该数字是否可被给定范围(2..num/2)
中的任何数字整除。 如果是,则将flag
设置为true
,我们就跳出了循环。 这确定number
不是质数。
如果num
不能被任何数整除,则flag
为false
,而num
为质数。
示例 2:使用while
循环检查质数的程序
public class Prime {
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。
访问此页面以了解如何显示两个时间间隔之间的所有质数。