首页 > 资讯 > 甄选问答 >

java打印出所有的 水仙花数

2026-01-02 12:21:22

问题描述:

java打印出所有的 水仙花数,卡到怀疑人生,求给个解法!

最佳答案

推荐答案

2026-01-02 12:21:22

java打印出所有的 水仙花数】在编程学习中,水仙花数是一个经典的数学问题,常用于练习循环结构和条件判断。所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。例如:153 = 1³ + 5³ + 3³,因此153是一个水仙花数。

下面我们将通过Java程序,打印出所有三位数范围内的水仙花数,并以表格形式展示结果,便于理解与查阅。

一、什么是水仙花数?

水仙花数(Narcissistic number)又称自恋数,是指一个n位数,其各位数字的n次幂之和等于它本身。在三位数范围内,即为每个数的百位、十位、个位分别立方后相加,结果等于原数。

二、Java实现思路

1. 遍历所有三位数(100~999)。

2. 对于每个数,提取其百位、十位、个位。

3. 计算各位数字的立方和。

4. 如果立方和等于原数,则输出该数。

三、Java代码示例

```java

public class NarcissisticNumber {

public static void main(String[] args) {

System.out.println("水仙花数列表:");

for (int i = 100; i <= 999; i++) {

int hundreds = i / 100;

int tens = (i / 10) % 10;

int units = i % 10;

if (Math.pow(hundreds, 3) + Math.pow(tens, 3) + Math.pow(units, 3) == i) {

System.out.println(i);

}

}

}

}

```

四、结果汇总(表格)

水仙花数 各位数字立方和计算
153 1³ + 5³ + 3³ = 1 + 125 + 27 = 153
370 3³ + 7³ + 0³ = 27 + 343 + 0 = 370
371 3³ + 7³ + 1³ = 27 + 343 + 1 = 371
407 4³ + 0³ + 7³ = 64 + 0 + 343 = 407

五、总结

通过Java程序可以方便地找出所有三位数中的水仙花数。这种类型的题目不仅有助于掌握基本的循环和条件语句,还能加深对数字拆分与运算的理解。以上表格清晰展示了水仙花数及其对应的数学验证过程,适合初学者参考学习。

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。