python练习题25


水仙花数
输入两个3位的正整数m,n,输出[m,n]区间内所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
输入格式:
测试数据由多组,处理到文件尾。每组测试输入两个3位的正整数m,n(100≤m<n≤999)。
输出格式:
对于每组测试,若[m,n]区间内没有水仙花数则输出“none”(引号不必输出),否则逐行输出区间内所有的水仙花数,每行输出的格式具体参看输出样例。
输入样例:
100 150 100 200
输出样例:
none 153=1*1*1+5*5*5+3*3*3
答:
while True:
try:
x,y=input().split(' ')
x=int(x)
y=int(y)
k=0
for i in range(x,y+1):
if((i%10)**3)+((i//100)**3)+(((i%100-i%10)//10)**3)==i:
print("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d" % (i,i//100,i//100,i//100,((i%100-i%10)//10),((i%100-i%10)//10),((i%100-i%10)//10),i%10,i%10,i%10))
k=1
if k==0:
print("none")
except Exception:
break

