三位数所有水仙花数python
时间: 2023-07-05 11:19:36 浏览: 42
以下是 Python 代码实现:
```python
for num in range(100, 1000):
# 获取百位、十位和个位数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds ** 3 + tens ** 3 + ones ** 3:
print(num)
```
输出结果:
```
153
370
371
407
```
其中,153、370、371和407都是三位数的水仙花数。
相关问题
python三位数的水仙花
水仙花数是指一个三位数,其各个位上的数字的立方和等于该数本身。在Python中,可以通过以下代码找出所有的三位数水仙花数:
```python
for num in range(100, 1000):
# 获取百位、十位和个位上的数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds**3 + tens**3 + ones**3:
print(num)
```
运行以上代码,会输出所有的三位数水仙花数:153、370、371、407。
python三位数水仙花数
以下是Python求解三位数水仙花数的代码和解释:
```python
# 方法一:使用for循环和if条件语句
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, end=' ')
```
```python
# 方法二:使用列表推导式
lst = [i for i in range(100, 1000) if (i//100)**3 + ((i//10)%10)**3 + (i%10)**3 == i]
print(lst)
```
方法一中,我们使用for循环遍历100到999之间的所有整数,然后使用整除和取余运算符获取百位、十位和个位数字。接着,我们使用if条件语句判断该数是否为水仙花数,如果是,则将其输出。
方法二中,我们使用列表推导式一次性生成所有的水仙花数,并将其存储在一个列表中,然后输出该列表。