用python编码打印所有水仙花数
时间: 2023-12-19 21:05:01 浏览: 62
水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153 = 1^3 + 5^3 + 3^3,所以 153 是一个水仙花数。
以下是用 Python 编写的打印所有水仙花数的代码:
```python
for num in range(100, 1000):
# 分离百位、十位和个位
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
这段代码使用了 `range(100, 1000)` 生成了所有的三位数,然后分离出每个数的百位、十位和个位数,判断是否为水仙花数,如果是的话就打印出来。
相关问题
Python编码打印所有水仙花数 代码
以下是Python编码打印所有水仙花数的代码:
```python
for num in range(100, 1000):
# 一个三位数各个数位上的数字的立方和等于该数本身,即为水仙花数
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
该代码会输出所有的三位数水仙花数。
编码打印所有“水仙花数”。所谓水仙花数,指一个三位数,各位数字的立方和等于该数本身。例如,153=13+53+33,所以153是一个水仙花数。 提示:法1,以用模运算,提取每一位数字;法2:字符串转列表,提取每一位。
以下是使用法1的 Python 代码:
```python
for num in range(100, 1000):
# 提取每一位数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否是水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
以下是使用法2的 Python 代码:
```python
for num in range(100, 1000):
# 转换为字符串并转为列表,提取每一位数字
digits = [int(digit) for digit in str(num)]
# 判断是否是水仙花数
if num == digits[0] ** 3 + digits[1] ** 3 + digits[2] ** 3:
print(num)
```
这两个代码都可以打印出所有的水仙花数。
阅读全文