多位水仙花数-python(出现运行超时?不妨用减法计算)
发布日期:2021-05-06 03:53:51 浏览次数:5 分类:技术文章

本文共 437 字,大约阅读时间需要 1 分钟。

多位水仙花数-python

题目

在这里插入图片描述

在这里插入图片描述

答案

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

上一篇:PTA——哥尼斯堡的“七桥问题(出现运行超时?不妨进来看看)
下一篇:字符串关键字的散列映射(这些情况你注意到了吗?)

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月31日 10时35分33秒