编写程序,输出1000以内的水花仙数
时间: 2023-03-03 18:39:21 浏览: 67
水花仙数,也被称为阿姆斯特朗数或自恋数,是指一个n位数(n≥3), 它的每个数位的n次方之和等于该数本身。
以下是一个Python程序,可以输出1000以内的所有水花仙数:
```python
for i in range(100, 1000):
sum = 0
num = str(i)
for digit in num:
sum += int(digit) ** 3
if sum == i:
print(i)
```
这个程序使用了两个循环,外层循环从100到999枚举所有三位数,内层循环计算每个数位的3次方之和。如果内层循环结束后,这个数等于它的各位数字的3次方之和,那么这个数就是水花仙数,程序就会输出它的值。
相关问题
java实现打印水花仙数
您好!要实现打印水花仙数的功能,可以使用以下Java代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; 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);
}
}
}
}
```
以上代码中,通过循环判断100至999的每一个数是否为水花仙数,如果是则打印输出。具体的判断方式是将该数按位拆开,进行立方运算,并判断和是否等于原数。
水花仙数2010java
以下是Java中判断水花仙数的代码示例:
```java
public class ShuixianFlower {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int gw = i % 10;
int sw = (i / 10) % 10;
int bw = i / 100;
int num = gw * gw * gw + sw * sw * sw + bw * bw * bw;
if (num == i) {
System.out.println("num = " + i);
}
}
}
}
```
运行结果为:
```
num = 153
num = 370
num = 371
num = 407
```
以上代码中,我们使用了循环语句和条件语句来判断每个三位数是否为水花仙数。具体来说,我们先将三位数分解为个位、十位和百位,然后计算每个位上数字的立方和,最后判断是否等于原数。如果等于原数,则输出该数。