python写1000以内的水仙花数
时间: 2023-10-14 07:23:37 浏览: 36
好的,以下是Python代码实现:
```python
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum += (temp % 10) ** 3
temp //= 10
if sum == i:
print(i)
```
以上代码会输出1000以内的所有水仙花数,即:
```python
153
370
371
407
```
相关问题
python求1000以内水仙花数和完数
以下是求1000以内水仙花数和完数的Python代码示例:
1. 求1000以内的水仙花数:
```python
for i in range(100, 1000):
if int(str(i)[0])**3 + int(str(i)[1])**3 + int(str(i)[2])**3 == i:
print("%d 是水仙花数" % i)
```
2. 求1000以内的完数:
```python
for i in range(1, 1000):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j
if sum == i:
print("%d 是完数" % i)
```
python 1000以内的水仙花数代码
以下是求解1000以内水仙花数的Python代码:
```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)
```
解释:
1. 循环范围从100到999,直接排除一位数和两位数,因为显然它们不可能是水仙花数。
2. 将整数分离为各位数,如整数153分离为1、5、3三个数。
3. 判断是否为水仙花数,即判断该整数是否等于各位数的三次方之和。
4. 如果是水仙花数,则将其输出。