Java水仙花数算法详解:附代码示例
Java水仙花数算法详解:附代码示例
想用Java编写一个查找水仙花数的程序?没问题!本文将为你提供一个简单易懂的指南,帮助你理解水仙花数的概念并使用Java编写代码。
什么是水仙花数?
水仙花数,也被称为阿姆斯特朗数,指的是一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 1³ + 5³ + 3³ = 1 + 125 + 27 = 153。
Java代码实现步骤
以下是使用Java查找水仙花数的步骤:
-
遍历所有三位数: 使用
for循环从 100 迭代到 999,遍历所有三位数。 -
提取个位、十位和百位数: 对于每个三位数,使用除法和取模运算提取它的个位、十位和百位数。例如,对于数字 153: - 百位数:
153 / 100 = 1- 十位数:(153 / 10) % 10 = 5- 个位数:153 % 10 = 3 -
计算各位数字立方和: 使用
Math.pow()方法计算每个数字的立方,然后将它们相加。例如: -Math.pow(1, 3) + Math.pow(5, 3) + Math.pow(3, 3) -
比较并输出结果: 将计算得到的立方和与原始的三位数进行比较。如果相等,则该数为水仙花数,输出该数。
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编写程序来查找它们!
原文地址: https://www.cveoy.top/t/topic/wJ0 著作权归作者所有。请勿转载和采集!