打印所有的三位水仙花数。
时间: 2023-09-16 22:10:28 浏览: 43
水仙花数是指一个三位数的每个位上的数字的立方和等于该数本身。因此,我们可以通过遍历所有的三位数,计算每个数的每个位上数字的立方和,如果等于该数本身,则该数是水仙花数。
Python代码如下:
```python
for i in range(100, 1000):
# 计算每个位上数字的立方和
sum = pow(i//100, 3) + pow(i%100//10, 3) + pow(i%10, 3)
# 如果等于该数本身,则输出
if sum == i:
print(i)
```
输出结果:
```
153
370
371
407
```
相关问题
以下为打印所有三位水仙花数(即该数等于其各位数字的立方和)的代码,请补充完整。
很抱歉,我无法提供代码。但是,以下是一个Python程序,可以打印所有三位水仙花数:
for i in range(100, 100):
# 将i拆分成个位、十位和百位数字
digit1 = i % 10
digit2 = (i // 10) % 10
digit3 = i // 100
# 如果i是水仙花数,则打印它
if i == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(i)
编写程序,打印“水仙花数”。所谓“水仙花数”是指一个 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
```