首页  >  文章  >  Java  >  Java 中的素数

Java 中的素数

PHPz
PHPz原创
2024-08-30 16:27:43298浏览

这篇文章是关于 Java 中的素数。素数是一种只能被单位和数字本身整除的数字。它不能被任何其他数字整除。素数是特殊类型的数字。数字的例外是 1 和 2。1 是唯一既不是素数也不是合数的数字。 2是自然界中唯一的偶数素数。素数的反义词是能被除该数本身以外的数整除的数。合数和质数是相反的。一般来说,除了数字 2 之外,素数都是奇数。奇数并不一定就是素数,因为它可能被 3 和任何其他奇数整除。

Java 中的素数示例

下面是在java中实现素数的例子:

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

示例 #1 – 使用 For 循环

在第一个编码示例中,我们将检查一个数字是否为素数。我们首先使用缓冲读取器流输入输入数字。然后我们有一个 for 循环,在其中我们将检查该数字是否可以被除 1 和任何其他数字之外的任何其他数字整除。 for循环从2开始,然后循环直到相应数字的一半。然后我们有一个变量来报告该数字是否可以被任何数字整除,这是循环的一部分。代码和循环部分如下所示,它输入一个数字并给出相应的输出,无论该数字是否为素数。程序中导入了java.io.*,因此后面的代码行中出现了输入/输出操作。另外,如果存在 IOException,则对其进行不同的处理。我们在 main 声明后给出了 throws IO Exception 命令,该命令抛出输入/输出操作期间发生的异常。除此之外,程序中使用了一些有意义的名称,供任何阅读该程序的人理解。

代码:

import java.io.*;
public class Prime
{
public static void main(String[] args) throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT");
int num= Integer.parseInt(br.readLine());
boolean count = false;
for(int i = 2; i <= num/2; ++i)
{
// condition for nonprime number
if(num % i == 0)
{
count = true;
break;
}
}
if (!count)
System.out.println(num + " is a prime number.");
else
System.out.println(num + " is not a prime number.");
}
}

输出:

Java 中的素数

Java 中的素数

代码说明:在输出中,我们查看输入的数字是否为素数。首先,我们输入 29 作为数字来检查它是否是素数。我们发现 29 是一个素数,因为它只能被单位数和该数本身整除。除此之外,它不能被任何其他数字整除。

其次,我们输入另一个数字来检查该数字是否是质数。我们输入 58 作为数字,然后检查该数字是否为素数。最后我们发现58不是素数,而是合数。它是除 1 和数字本身之外能被 2、29 整除的偶数。

示例 #2 – 使用 While 循环

在编码示例中,我们将看到如何使用 While 循环来检查数字是否为素数。我们使用与 for 循环相同的逻辑,但我们对程序有不同的看法。

代码:

import java.io.*;
public class PrimeNumber
{
public static void main(String[] args)throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER A NUMBER TO CHECK IF IT IS PRIME OR NOT");
int num= Integer.parseInt(br.readLine());
int i = 2;
boolean count = false;
while(i <= num/2)
{
// condition for nonprime number
if(num % i == 0)
{
count = true;
break;
}
++i;
}
if (!count)
System.out.println(num + " is a prime number.");
else
System.out.println(num + " is not a prime number.");
}
}

输出:

Java 中的素数

Java 中的素数

代码说明: 在示例输出中,我们输入两个奇数来检查数字是否为素数。我们输入 71 和 37 作为两个数字,最后发现这两个数字都是素数,因为它们只能被 1 和数字本身整除。

示例 #3 – 使用计数

在此编码示例中,我们将检查数字范围内的素数。我们输入最小数 20 和最大数 50,然后找到该范围内的素数。这是一个非常简单的程序,只需更改 min 和 max 变量,我们就可以找到 min 和 max 变量之间的素数。编码示例如下所示。

代码:

import java.io.*;
public class PrimeRange
{
public static void main(String[] args)
{
int min = 20, max = 50;
while (min < max) {
boolean count = false;
for(int i = 2; i <= min/2; ++i) {
// condition for nonprime number
if(min % i == 0) {
count = true;
break;
}
}
if (!count)
System.out.print(min + " ");
++min;
}
}
}

输出:

Java 中的素数

代码说明: 在上面的代码中,我们找到 20 到 50 之间的素数的个数。我们找到只能被单位和数字本身整除的数字。质数为 23、29、31、37、41、43 和 47。代码使用单个 for 循环,用于检查数字是否可以被相应的 for 循环控制变量整除。如果该数可被整除,则它是合数,如果该数不可整除,则它是质数。

结论

在本文中,我们看到素数使用 for 循环和 while 循环进行工作。此外,我们还看到存在于一定范围内的素数。使用 for 循环和 while 循环检查素数的逻辑几乎相同。因此,质数的检查非常容易。循环控制变量是检查数字是否为素数的一个非常重要的因素。

以上是Java 中的素数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn