赞
踩
'''
判断1000以内的水仙花数
'''
# 定义一个列表用于存储水仙花数
list_save = []
# 定义一个循环用于遍历(0~1000)中的数
for i in range(0,1001):
# 将每一个整数转换成字符串形式
num = str(i)
# 字符串中使用list()方法会将字符串拆成一个一个的字符,并以列表的形式返回给我们
list_num = list(num)
# 定义一个整数变量用于计算每个位上的数字的3次幂之和
num_temp = 0
'''
原理:水仙花数是指一个 3 位数,它的每个位上的数字的3次幂之和等于它本身。
遍历每个位上的数字,再将它们3次幂运算。
'''
for j in list_num:
num_temp += int(j) ** 3
# 判断最后经过运算后每个位上的数字的3次幂之和是否等于它本身
if num == str(num_temp):
# 满足条件就存入字符串
list_save.append(i)
print("1000以内的水仙花数:" +str(list_save))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。