python打印所有水仙花数
时间: 2023-07-05 17:33:25 浏览: 108
水仙花数,也叫自恋数或自幂数,是指一个n位数(n≥3),其各位数字的n次方之和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。以下是打印所有的3位水仙花数的Python代码:
```python
for i in range(100, 1000):
sum = 0
temp = i
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if i == sum:
print(i)
```
运行结果为:
```
153
370
371
407
```
其中,使用 `range(100, 1000)` 生成 100 到 999 的整数序列,使用循环和条件语句,逐个判断每个数是否为水仙花数。具体实现是将每个数的个位、十位、百位上的数字分离出来,分别计算它们的立方和,最后判断原数是否等于这个立方和。如果是,就打印出这个数。
相关问题
python 打印所有水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
以下是打印所有水仙花数的 Python 代码:
```python
for i in range(100, 1000):
num = str(i)
if int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == i:
print(i)
```
运行结果:
```
153
370
371
407
```
python打印输出水仙花数
以下是Python打印输出水仙花数的代码:
```python
sum = 0
for num_sx in range(100, 1000):
gw = num_sx % 10 # 个位
sw = num_sx // 10 % 10 # 十位
bw = num_sx // 100 # 百位
if gw ** 3 + sw ** 3 + bw ** 3 == num_sx:
sum += 1
print("水仙花数有:", num_sx)
print("一共有", sum, "个水仙花数")
```
该代码使用了for循环遍历100到999之间的所有三位数,然后分别计算其个位、十位和百位上的数字的立方和是否等于该数本身,如果是,则输出该数,最后输出水仙花数的总个数。
阅读全文