编写一个java程序,打印10000以内的水仙花数。
时间: 2024-03-01 13:51:32 浏览: 25
好的,以下是符合您要求的Java代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) { // 100-999之间的数才有可能是水仙花数
int a = i / 100; // 获取百位数
int b = (i / 10) % 10; // 获取十位数
int c = i % 10; // 获取个位数
int sum = a * a * a + b * b * b + c * c * c; // 求出各位立方和
if (sum == i) { // 判断是否为水仙花数
System.out.println(i);
}
}
}
}
```
代码中,我们通过一个for循环遍历100-999之间的所有数,然后依次获取它们的百位数、十位数和个位数,并分别求出各位立方和。如果各位立方和等于这个数本身,就说明这个数是水仙花数,我们就可以通过System.out.println()方法将它打印出来。因为10000以内的水仙花数只有153、370、371和407,所以我们可以只遍历100-999之间的数。
相关问题
用Java编写一个程序打印所有水仙花数
我可以为您提供一段示例代码,它可以用来查找并打印出所有水仙花数:public class NarcissisticNumber {public static void main(String[] args){int n, a, b, c;for (int i = 100; i < 1000; i++){n = i;a = n / 100;//取百位b = n / 10 % 10;//取十位c = n % 10;//取个位if (n == (a * a * a + b * b * b + c * c * c)) {System.out.println(i);}}}
编写一个java程序水仙花数代码
以下是 Java 代码实现水仙花数:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 100; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (i == a * a * a + b * b * b + c * c * c) {
System.out.println(i);
}
}
}
}
```
该程序会输出所有三位数的水仙花数。