python编写程序,(2)水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如,1**3+5**3+3**3=153),输出所有3位的水仙花数。
时间: 2024-01-17 15:06:59 浏览: 16
for i in range(100,1000):
sum = 0
num = i
while num > 0:
digit = num % 10
sum += digit ** 3
num //= 10
if i == sum:
print(i)
相关问题
编写一个打印所有水仙花数的程序,所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
下面是一个 Python 程序,用于打印出所有的水仙花数:
```python
for i in range(100, 1000):
# 将数字转换为字符串并计算每个数字的3次幂之和
sum_of_cubes = sum(int(digit) ** 3 for digit in str(i))
if i == sum_of_cubes:
print(i)
```
在这个程序中,我们使用 `range(100, 1000)` 生成所有的3位数。对于每个数字,我们将其转换为字符串并计算每个数字的3次幂之和。如果该和等于原始数字,则打印该数字。输出结果为:
```
153
370
371
407
```
用python语言编写水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,输出所有3位的水仙花数
```python
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)
```
输出结果:
```
153
370
371
407
```