编写程序,输出所有3位水仙花数。所谓“3位水仙花数”,是指一个三位整数,其各心 成绩 位数字的3次方和等于该数本身。例如有153=1+5+3则153是一个“3位水仙花数”。
时间: 2024-06-02 21:13:54 浏览: 47
for i in range(100, 1000):
# 将i拆分成各个位上的数字
a = i // 100 # 百位
b = (i // 10) % 10 # 十位
c = i % 10 # 个位
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
相关问题
编写程序,打印“水仙花数”。所谓“水仙花数”是指一个N位正整数(N≥3),其各位数字N次幂的和等于该数字本身。例如,153(153 = 13 + 53 + 33)是一个三位水仙花数。请打印所有三位水仙花数和四位水仙花数。
好的,以下是程序的代码实现,可以打印出所有的三位水仙花数和四位水仙花数:
```python
for num in range(100, 1000):
# 获取个位、十位和百位数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1**3 + digit2**3 + digit3**3:
print(num)
for num in range(1000, 10000):
# 获取千位、百位、十位和个位数字
digit1 = num // 1000
digit2 = (num // 100) % 10
digit3 = (num // 10) % 10
digit4 = num % 10
# 判断是否为水仙花数
if num == digit1**4 + digit2**4 + digit3**4 + digit4**4:
print(num)
```
程序首先使用两个 for 循环分别遍历三位数和四位数。对于每个数,它会将其各位数字分别提取出来,然后判断是否为水仙花数。如果是,则将其打印出来。
编写程序,打印“水仙花数”。所谓“水仙花数”是指一个 N 位正整数(N≥3),其各位数字 N 次幂的和等于该数字本身。例如,153(153 = 1**3 + 5**3 + 3**3)是一个三位水仙花数。 请打印所有三位水仙花数和四位水仙花数。
好的,这里给您提供一个 Python 代码实现:
```python
# 打印三位水仙花数
print("三位水仙花数:")
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)
# 打印四位水仙花数
print("四位水仙花数:")
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)
```
输出:
```
三位水仙花数:
153
370
371
407
四位水仙花数:
1634
8208
9474
```
阅读全文