.输出1000内的所有水仙花数,判断该数是否是水仙花数(例如满足关系153=13+53+33)。如果是水仙花数,则输出该数是水仙花数,否则输出不是水仙花数。Java
时间: 2024-09-11 19:07:15 浏览: 21
水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个3位数,且153 = 1^3 + 5^3 + 3^3。在Java中,可以通过以下步骤来找出1000内的所有水仙花数:
1. 通过循环遍历100到999之间的所有数字(因为水仙花数是三位数,1000以上的数字不考虑)。
2. 对每个数,将其分解为个位、十位和百位。
3. 计算每个位上数字的立方和。
4. 判断立方和是否等于原始数字,如果等于,则输出该数,并表明它是水仙花数;如果不等,则输出不是水仙花数。
以下是一个简单的Java代码示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int hundred = i / 100; // 百位
int ten = (i % 100) / 10; // 十位
int one = i % 10; // 个位
// 计算每个位上数字的立方和
if (Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(one, 3) == i) {
System.out.println(i + "是水仙花数");
} else {
System.out.println(i + "不是水仙花数");
}
}
}
}
```