Fascinating Number in Java

2025年5月5日 | 阅读 4 分钟

在本节中,我们将学习什么是迷人数字,还将创建Java 程序来检查给定的数字是否为迷人数字迷人数字程序经常在Java 编码测试中出现。

迷人数字

将一个数字分别乘以,然后将得到的数字与原始数字连接起来,就称为迷人数字。如果连接后的结果包含从1 到 9 的所有数字,并且只出现一次。

换句话说,我们也可以说,如果一个数字 (n) 满足以下两个条件,它可能是一个迷人数字:

  • 如果给定的数字是三位或三位以上
  • 如果连接后得到的值包含从1 到 9 的所有数字,并且只出现一次。

例如,192、1920、2019、327 等。让我们通过一个例子来理解迷人数字的概念。

迷人数字示例

让我们取任何数字 (n),例如 327,然后检查该数字是否为迷人数字。将给定数字 (n) 分别乘以 2 和 3,我们得到:

327×2=654

327×3=981

现在,将上述结果与给定数字 (n) 连接起来。

"327"+"654"+ "981"= 327654981

我们观察到结果 () 包含从 1 到 9 的所有数字,并且只出现一次。因此,给定的数字 327 是一个迷人数字。请注意,我们没有将结果添加到给定数字中。其他迷人数字包括 192、219、273、327、1902、1920、2019 等。

查找迷人数字的步骤

  1. 首先,检查给定的数字是否由三个数字组成。如果不是,则打印“不能是迷人数字”。
  2. 否则,分别将给定的数字乘以 2 和 3。
  3. 将(步骤 2 中的)结果转换为字符串。
  4. 将(步骤 3 中的)字符串与给定的数字 (n) 连接起来。
  5. 遍历连接后得到的字符串,并计算每个数字的频率。
  6. 如果任何数字丢失或出现多次,则打印“不是迷人数字”。否则,打印“迷人数字”。

让我们在 Java 程序中实现上述步骤。

迷人数字 Java 程序

检查一个数字是否为迷人数字的基本条件是该数字至少有 3 位或更多位。

FascinatingNumberExample1.java

输出 1

Enter any Number: 327
327 is a fascinating number.

输出 2

Enter any Number: 8975
8975 is not a fascinating number.

让我们创建另一个 Java 程序,它可以在给定的范围内查找所有迷人数字。

FascinatingNumberExample2.java

输出

Enter lower range: 1
Enter upper range: 10000
The Fascinating number from 1 to 10000 are: 
192 219 273 327 1902 1920 2019 2190 2703 2730 3027 3270