打印出100到100范围内的水仙花数
时间: 2023-05-29 20:07:00 浏览: 62
水仙花数是指一个三位数各位数字的立方和等于该数本身,因此可以用循环来判断:
```python
for i in range(100, 1000):
num = i
digit1 = num % 10
digit2 = num // 10 % 10
digit3 = num // 100
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
输出结果:
```python
153
370
371
407
```
相关问题
用Java打印出100到100范围内的水仙花数
水仙花数指一个三位数各位数字的立方和等于该数本身。例如153是一个水仙花数,因为1的立方+5的立方+3的立方=153。
下面是Java代码实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) { // 遍历100到999之间的所有数
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);
}
}
}
}
```
输出结果:
```
153
370
371
407
```
用java语言编写打印出100~1000范围内的所有水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。以下是用Java编写的程序打印出100~1000范围内的所有水仙花数:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 1000; i++) {
int hundredsDigit = i / 100;
int tensDigit = (i / 10) % 10;
int unitsDigit = i % 10;
if (hundredsDigit * hundredsDigit * hundredsDigit + tensDigit * tensDigit * tensDigit + unitsDigit * unitsDigit * unitsDigit == i) {
System.out.println(i);
}
}
}
}
```
在这个程序中,我们使用了一个 for 循环来遍历 100~1000 范围内的所有三位数。然后,我们将每个三位数拆分成它的百位数、十位数和个位数,并将其保存在变量 hundredsDigit、tensDigit 和 unitsDigit 中。接下来,我们使用一个 if 语句来检查当前的三位数是否为水仙花数,如果是就打印出来。