使用BigInteger类型获取质数的Java程序


在本文中,我们将学习如何使用BigInteger类Java中生成质数。质数是一个大于1的自然数,不能表示为两个较小自然数的乘积。这里,我们使用BigInteger类型,它具有用于模运算、GCD计算、素性测试、素数生成等的运算。

使用BigInteger类型获取质数的步骤

以下是使用BigInteger类型获取质数的步骤:

  • 首先,我们将从java.math包中导入**BigInteger**。
  • 初始化**Demo类**,并从**0**开始计数。
  • 我们将使用While循环持续检查质数,直到达到指定的限制(在本例中为50)。
  • 我们将检查以下条件:
    • 跳过小于或等于**1**的数字,因为它们不是质数。
    • 使用**BigInteger**的isProbablePrime()方法检查当前数字是否为质数。
  • 打印找到的每个质数。

使用BigInteger类型获取质数的Java程序

以下是使用BigInteger类型获取质数的Java程序:

import java.math.BigInteger;
public class Demo {
   public static void main(String[] args) {
      int val = 0;
      System.out.println("Prime Numbers...");
      while (true) {
         if (val > 50) {
            break;
         }
         if (val > 1) {
            if (new BigInteger(val+"").isProbablePrime(val / 2)) {
               System.out.println(val);
            }
         }
         val++;
      }
   }
}

输出

Prime Numbers...
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47

代码解释

在程序中,我们首先将变量**val**初始化为0,然后进入一个无限循环的**while循环**。我们设置一个条件,一旦**val**超过50就跳出循环。在循环内,我们首先检查**val**是否大于1以排除非质数候选者。对于每个有效的**val**,我们创建一个新的BigInteger对象,并使用**isProbablePrime()方法**根据给定的确定性(在本例中为val的一半)来确定它是否为质数。如果是质数,我们将其打印到控制台。

更新于:2024年11月4日

477 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告