编写一个java控制台应用程序,输出1000以内的水仙花数(水仙花数是指一个 n位正整数 (n≥3),它的每个位上的数字的 n次幂之和等于它本身)
时间: 2024-09-27 09:07:15 浏览: 40
编写一个Java控制台应用程序来找出1000以内的水仙花数,你可以创建一个简单的for循环遍历这个范围内的每个三位数,并对每位数求立方和。如果这个和等于原始数字本身,则认为它是水仙花数。以下是示例代码:
```java
public class Main {
public static void main(String[] args) {
for (int number = 100; number < 1000; number++) { // 遍历100到999
int sumOfDigits = 0;
String numStr = String.valueOf(number);
if (numStr.length() == 3) { // 检查是否是三位数
sumOfDigits += Integer.parseInt(numStr.charAt(0) + "") * Math.pow(Integer.parseInt(numStr.charAt(0)), 3); // 对百位求立方
sumOfDigits += Integer.parseInt(numStr.charAt(1) + "") * Math.pow(Integer.parseInt(numStr.charAt(1)), 3); // 对十位求立方
sumOfDigits += Integer.parseInt(numStr.charAt(2) + "") * Math.pow(Integer.parseInt(numStr.charAt(2)), 3); // 对个位求立方
if (sumOfDigits == number) { // 如果和等于原数,打印出来
System.out.println("水仙花数: " + number);
}
}
}
}
}
```
阅读全文