python找出所有的水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
时间: 2023-08-08 11:09:01 浏览: 213
好的,您想要寻找所有的3位数水仙花数,即每个位上的数字的3次方之和等于这个数本身。可以使用以下代码:
```python
for i in range(100, 1000):
sum = 0
temp = i
while temp > 0:
sum += (temp % 10) ** 3
temp //= 10
if i == sum:
print(i)
```
以上代码使用循环遍历100到999的每个整数。然后,它计算该数字的每个数字的立方和,并将其存储在变量“sum”中。如果计算得到的和等于原始数字,则打印该数字。
希望我的回答有帮助。
相关问题
python 求所有水仙花数。水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。
以下是Python代码实现打印100到999之间的所有水仙花数:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
```
运行结果为:
```
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。