优化这段代码a,b=eval(input()) n=0 for i in range(a,b+1): n3=i//100 n1=i%10 n2=i//10%10 if i==n1*n1*n1+n2*n2*n2+n3*n3*n3: print(f"{i}") n=n+1 if n==0:print("无水仙花数")
时间: 2023-05-23 16:02:33 浏览: 114
以下是优化后的代码:
a,b=eval(input())
n=0
for i in range(a,b+1):
s = str(i)
res = sum(int(dig)**3 for dig in s)
if res == i:
print(f"{i}")
n += 1
if n == 0:
print("无水仙花数")
这段代码将数字转化成字符串,遍历每个数字,将字符串中的每个数字的三次方加起来,如果和等于原数字,则说明这是水仙花数。
阅读全文