java打印出1000以内的"水仙花数",所谓 "水仙花数"是指一个三位数,其各位数字立方和等于该数本身
时间: 2024-09-19 14:09:58 浏览: 47
在Java中,我们可以编写一段代码来找出1000以内的所有“水仙花数”。首先,我们需要了解“水仙花数”的定义,它是指一个三位数abc,满足a^3 + b^3 + c^3 = n(其中n是这个数本身)。接下来是一个简单的示例程序:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num < 1000; ++num) {
int a = num / 100;
int b = (num % 100) / 10;
int c = num % 10;
if (num == calculateNarcissisticSum(a, b, c)) {
System.out.println(num);
}
}
}
// 函数用于计算三位数各数位立方和
private static int calculateNarcissisticSum(int a, int b, int c) {
return Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3);
}
}
```
这段代码会遍历100到999之间的每个数,将每一位提取出来分别求立方,然后比较是否等于原数。如果相等,则打印出这个“水仙花数”。
阅读全文