.打印出1--1000内所有的水仙花数。所谓水仙花数是指 一个三位数
时间: 2024-09-20 07:16:47 浏览: 33
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
水仙花数是指一个三位数,它的每个位上的数字的立方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是一个简单的 Java 代码片段,用于找出并打印1到1000范围内的所有水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; ++i) {
int digits[] = new int[3];
int sum = 0;
String num = Integer.toString(i);
// 分割数字到数组
for (int j = 0; j < 3; ++j) {
digits[j] = num.charAt(j) - '0';
}
// 计算每个位置的立方和
for (int digit : digits) {
sum += Math.pow(digit, 3);
}
// 如果和等于原数,就打印出来
if (sum == i) {
System.out.println(i);
}
}
}
}
```
这个程序遍历从100到999的所有整数,对每个数进行分解、计算各位立方和,如果和等于原数,则输出该数。
阅读全文