用python语言编写水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,输出所有3位的水仙花数
时间: 2023-10-23 20:22:08 浏览: 47
```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
```
相关问题
编写一个打印所有水仙花数的程序,所谓水仙花数是指一个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
```
找出所有的水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
水仙花数即为满足以下条件的所有三位数:
$abc=a^3+b^3+c^3$
其中,$a$、$b$、$c$ 分别为该三位数的百位、十位、个位数字。
根据该条件,我们可以编写如下代码进行求解:
```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
```
因此,所有的水仙花数为 153、370、371 和 407。