Java 中的质数点

2024 年 9 月 10 日 | 阅读 7 分钟

将一个数字分成两部分,使得每个部分都是素数,则这些点被称为素数点。任务是打印给定数字的所有素数点。让我们通过例子来理解。

示例 1

int n = 5717;

在索引 1 处进行切割,我们得到数字 5 和 717。

这里,5 是素数,而 717 不是素数(717 可被 3 整除)。因此,我们得到了一个非素数 717;因此,索引 1 处的切割不能被视为数字 5717 的素数点。

现在我们在索引 2 处进行切割,我们得到数字 57 和 17。

这里,57 不是素数(57 可被 3 整除),而 17 是素数。因此,我们得到了一个非素数 57;因此,索引 2 处的切割不能被视为数字 5717 的素数点。

现在,我们在索引 3 处进行切割,我们得到数字 571 和 7。

这里,571 是素数,7 也是素数。因此,索引 3 处的切割可以被算作数字 5717 的一个素数点。

因此,我们看到数字 5717 只有一个素数点(索引 3)。

示例 2

int n = 67793;

在索引 1 处进行切割,我们得到数字 6 和 7793。

这里,6 不是素数(6 可被 2 整除),而 7793 是素数。因此,我们得到了一个非素数 6;因此,索引 1 处的切割不能被视为数字 67793 的素数点。

现在我们在索引 2 处进行切割,我们得到数字 67 和 793。

这里,67 是素数,而 793 不是素数(793 可被 13 整除)。因此,我们得到了一个非素数 67;因此,索引 2 处的切割不能被视为数字 67793 的素数点。

现在,我们在索引 3 处进行切割,我们得到数字 677 和 93。

这里,677 是素数,而 93 不是素数(93 可被 3 整除)。因此,索引 3 处的切割不能被视为数字 67793 的素数点。

现在,我们在索引 4 处进行切割,我们得到数字 6779 和 3。

这里,6779 是素数,而 3 也是素数。因此,索引 4 处的切割可以被视为数字 67793 的一个素数点。

算法

步骤 1: 输入一个数字 n。

步骤 2: 在每个索引处进行切割,将数字分成两部分。

步骤 3: 检查每个部分是否为素数。

步骤 4: 如果每个部分都是素数,则该索引是数字 n 的素数点;否则,不是。

步骤 5: 对其他索引重复步骤 2。

Java 素数点程序

让我们看看上面提到的算法的实现。

文件名: PrimePointEx.java

输出

Prime points for the number 67793 are:
[4]

Prime points for the number 5717 are:
[3]

Prime points for the number 2317 are:
[1, 2]

让我们看看另一种方法。

在这种方法中,我们将使用字符串。观察下面的程序。

文件名: PrimePointEx1.java

输出

Prime points for the number 67793 are:
[4]

Prime points for the number 5717 are:
[3]

Prime points for the number 2317 are:
[1, 2]