本文共 437 字,大约阅读时间需要 1 分钟。
s = input()n = len(s)N = eval(s)list = []for i in range(N,10**n): tmp1 = i tmp2 = i for item in range(n): tmp2 = tmp2 - (tmp1%10)**n tmp1 = tmp1//10 if tmp2 == 0: list.append(str(i))if len(list)==0: print("无")else: print("{} ".format(len(list)),end="") print(",".join(list))
这道题,在判断是否为水仙花数时,如果是将各位相加再与原先的数比较是否相等,就会出现运行超时的情况;目前已知可以通过测试点(不超时)的方法就是将原先的数依次减去各位数字的n次方,最后判断是否减为0
转载地址:http://mpfl.baihongyu.com/