java求1000以内的所有水仙花数并输出
时间: 2024-01-22 20:03:42 浏览: 31
水仙花数是指一个三位数,其各个位上数字的立方和等于该数本身。例如153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
以下是Java程序,可以求出1000以内的所有水仙花数并输出:
```java
public class NarcissisticNumbers {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int digit1 = i / 100; // 百位数
int digit2 = (i / 10) % 10; // 十位数
int digit3 = i % 10; // 个位数
if (i == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
System.out.println(i);
}
}
}
}
```
输出结果为:
```
153
370
371
407
```
相关问题
JAVA求1000以内所有的水仙花数并输出
水仙花数是指一个 n 位数(n≥3),其各位数字的 n 次方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是 Java 代码实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 1000; i++) {
int a = i / 100; // 百位数
int b = i % 100 / 10; // 十位数
int c = i % 10; // 个位数
if (a * a * a + b * b * b + c * c * c == i) {
System.out.print(i + " ");
}
}
}
}
```
运行结果:
```
153 370 371 407
```
求1000以内的水仙花数Java代码
很高兴接受你的提问!以下是Java代码实现:
```
public static void main(String[] args) {
int n = 1000;
for (int i = 1; i <= n; i++) {
int sum = 0;
int temp = i;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i) {
System.out.print(i + " ");
}
}
}
```
这段代码可以找到1000以内的水仙花数并输出。根据题意,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。因此,我们可以通过循环遍历1000以内的整数,逐一判断每个数字是否为水仙花数,满足条件则输出即可。