Java 打印出所有的”水仙花数”
时间: 2023-05-26 07:00:57 浏览: 86
A:
水仙花数是指一个 n 位正整数( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
例如:153 是一个水仙花数,因为 1³ + 5³ + 3³ = 153。
以下是 Java 实现代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for(int i=100;i<1000;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);
}
}
}
}
```
输出:
```
153
370
371
407
```
相关问题
Java打印出所有水仙花数
好的,水仙花数是指一个n位数(n≥3),其各位数字的n次方之和等于该数本身。那么我们可以使用如下的Java代码来打印出所有的3位水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int i,j,k;
for(int n=100;n<1000;n++){
i = n/100;
j = n/10%10;
k = n%10;
if(n==(i*i*i+j*j*j+k*k*k)){
System.out.println(n);
}
}
}
}
```
输出结果为:
```
153
370
371
407
```
这四个数都是3位的水仙花数。
用Java打印所有的水仙花数
以下是用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 / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
System.out.println(i);
}
}
}
}
```
这段代码可以输出所有的三位水仙花数。
阅读全文