用for循环输出所有的三四位数的水仙花数
时间: 2024-05-27 14:11:05 浏览: 74
for i in range(100, 1000):
# 计算百位、十位、个位上的数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
for i in range(1000, 10000):
# 计算千位、百位、十位、个位上的数字
a = i // 1000
b = (i // 100) % 10
c = (i // 10) % 10
d = i % 10
# 判断是否为水仙花数
if a**4 + b**4 + c**4 + d**4 == i:
print(i)
相关问题
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。用for循环来遍历所有可能的选项
for i in range(100, 1000):
# 分离出百位、十位、个位
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
python用for循环找出100到999之间所有的水仙花数,输出符合要求的水仙花数,最大水仙花数,最小水仙花数
在Python中,可以使用for循环来找出100到999之间的所有水仙花数。水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。
以下是找出水仙花数的代码:
```python
# 初始化一个空列表,用于存储符合要求的水仙花数
narcissistic_numbers = []
# 使用for循环遍历100到999之间的所有数
for num in range(100, 1000):
# 将数字转换为字符串,以便进行位数分离
num_str = str(num)
# 获取百位、十位和个位上的数字
hundreds = int(num_str[0])
tens = int(num_str[1])
units = int(num_str[2])
# 判断是否为水仙花数
if num == hundreds**3 + tens**3 + units**3:
narcissistic_numbers.append(num)
# 输出符合要求的水仙花数
print("符合要求的水仙花数:", narcissistic_numbers)
# 输出最大水仙花数
max_num = max(narcissistic_numbers)
print("最大水仙花数:", max_num)
# 输出最小水仙花数
min_num = min(narcissistic_numbers)
print("最小水仙花数:", min_num)
```
运行以上代码,将会输出符合要求的水仙花数、最大水仙花数和最小水仙花数。
阅读全文