Python用for循环求出100- 1000之间的水仙花数

水仙花数:一个三位数,其按位立方之和等于该数本身,该数称为水仙花数。求出100- 1000之间的水仙花数
(其实,水仙花数是“自幂数”中的一种;自幂数:一个n位数,其按位数字的n次方之和,等于该数本身。
#第一种方法
list1 = []
for i in range(100,1000):
a = i%10 # 个位
b = i%100//10 #十位
c = i//100 # 百位
d = a ** 3 + b ** 3 + c ** 3
if d == i:
list1.append(d)
print('1000以内的水仙花数有:', list1)

# 输出的结果为 1000以内的水仙花数有: [153, 370, 371, 407]


# 第二种方法
i = 2
while i < 1000:
a = i % 10
b = i % 100 // 10
c = i // 100
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
i += 1
posted @ 2021-07-17 20:32  夏夏夏天的西瓜  阅读(5780)  评论(2编辑  收藏  举报