1 描述
“3位水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个"3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
注意:这是一个OJ题目,输出格式要严格一致。
- 输入
无 - 输出
示例:634,412
(注意,这两个数字不是水仙花数)
2 代码
num = 1000-99
ls=[]
for j in range(1,num):
i = 99+j #得到从100到999的所有三位数
a=i%10
b=int((i/10)%10)
c=int(((i/10)/10)%10)
sum = pow(a,3)+pow(b,3)+pow(c,3)
if sum==i:
ls.append(i) #如果是水仙花数,就放到这个列表里面
while len(ls)!=0:
print(ls.pop(0),end='')
if(len(ls)!=0): #只要不是最后一个元素,就可以输出“,”
print(",",end='')
print()
输出
- 小结:print()函数默认换行,可以用end=“”语句来用空代替换行,达到不换行的效果