Java水仙花数算法详解:附代码示例

想用Java编写一个查找水仙花数的程序?没问题!本文将为你提供一个简单易懂的指南,帮助你理解水仙花数的概念并使用Java编写代码。

什么是水仙花数?

水仙花数,也被称为阿姆斯特朗数,指的是一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 1³ + 5³ + 3³ = 1 + 125 + 27 = 153。

Java代码实现步骤

以下是使用Java查找水仙花数的步骤:

  1. 遍历所有三位数: 使用 for 循环从 100 迭代到 999,遍历所有三位数。

  2. 提取个位、十位和百位数: 对于每个三位数,使用除法和取模运算提取它的个位、十位和百位数。例如,对于数字 153: - 百位数:153 / 100 = 1 - 十位数:(153 / 10) % 10 = 5 - 个位数:153 % 10 = 3

  3. 计算各位数字立方和: 使用 Math.pow() 方法计算每个数字的立方,然后将它们相加。例如: - Math.pow(1, 3) + Math.pow(5, 3) + Math.pow(3, 3)

  4. 比较并输出结果: 将计算得到的立方和与原始的三位数进行比较。如果相等,则该数为水仙花数,输出该数。

Java代码示例

以下是完整的Java代码:javapublic class NarcissisticNumber { public static void main(String[] args) { for (int number = 100; number <= 999; number++) { int digit1 = number / 100; // 百位数 int digit2 = (number / 10) % 10; // 十位数 int digit3 = number % 10; // 个位数

        int sum = (int) (Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3));

        if (sum == number) {                System.out.println(number + ' 是水仙花数');            }        }    }}

输出结果

运行以上代码,你将得到以下输出,其中列出了所有三位数中的水仙花数:

153 是水仙花数370 是水仙花数371 是水仙花数407 是水仙花数

希望这篇文章能帮助你理解水仙花数的概念,并学会如何使用Java编写程序来查找它们!

Java水仙花数算法详解:附代码示例

原文地址: https://www.cveoy.top/t/topic/wJ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录