三位水仙花数
问题描述
"水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。
例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
代码
ls = [] # 空列表
for i in range(100, 1000):
m = i // 100 # 求百位数
n = (i % 100) // 10 # 求十位数
k = i % 10 # 求个位数
if pow(m,3) + pow(n,3) + pow(k,3) == i:
ls.append(str(i)) # 将字符串i加进列表中
ls.sort(reverse = False) # 升序排列
print(",".join(ls))
如有错误,欢迎指出!