Java 中的 Trimorphic 数

17 Mar 2025 | 4 分钟阅读

在前一节中,我们讨论了面试中通常会问到的许多数字程序。在本节中,我们将讨论什么是三形数以及如何检查一个数是否是三形数。

三形数

如果一个数 T 的立方(T*T*T 或 T3)以 T 结尾,则称该数 T 为三形数。让我们通过例子来理解。

示例 1

输入

T = 501

输出

501 是一个三形数。

解释:如果我们把 501 乘以自己 3 次(501 x 501 x 501),我们得到 125751501,而 125751501 以数字 501 结尾。因此,501 是三形数。

示例 2

输入

T = 7

输出

7 不是三形数。

解释:如果我们把 7 乘以自己 3 次(7 x 7 x 7),我们得到 343,而 343 不以数字 7 结尾。因此,7 不是三形数。

算法

步骤 1:取一个数 T 并计算其立方。假设 T3 = Y。

步骤 2:计算数字 T 中的位数。假设数字 T 中有 n 位。

步骤 3:计算 10n 的值。假设 10n 的值为 p。

步骤 4:计算 Y - T 的值。假设 Y - T = r

步骤 5:检查 r % p 的值是否等于 0。如果等于 0,则 T 是三形数;否则不是。

三形数 Java 程序

让我们在 Java 程序中实现上述算法。

文件名:TrimorphicNumber.java

输出

1 is a trimorphic number.
2 is not a trimorphic number.
3 is not a trimorphic number.
4 is a trimorphic number.
5 is a trimorphic number.
6 is a trimorphic number.
7 is not a trimorphic number.
8 is not a trimorphic number.
9 is a trimorphic number.
10 is not a trimorphic number.

在上面的程序中,我们需要单独做一些事情。例如,我们需要计算幂。还有数字 T 中的总位数。如果使用字符串,我们可以避免这些操作。让我们在下面的程序中找到它。

文件名:TrimorphicNumber1.java

输出

1 is a trimorphic number.
2 is not a trimorphic number.
3 is not a trimorphic number.
4 is a trimorphic number.
5 is a trimorphic number.
6 is a trimorphic number.
7 is not a trimorphic number.
8 is not a trimorphic number.
9 is a trimorphic number.
10 is not a trimorphic number.