已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
3天前关闭。
Improve this question
我正试图解决一个Codewars形,代码工作良好的小数字,但与大数字运行太多,并在12秒后停止。代码必须返回[数量纯奇数位素数低于n,最大纯奇数位素数小于n,最小纯奇数位素数高于n]。我如何优化是运行速度更快?
def only_oddDigPrimes (n): # P.O.D.P (pure ood digit prime)
prime, primeodd, result = [], [], []
i = 2
loop = True
while loop:
for j in range(2, i):
if i % j == 0:
break
else:
if i < n:
for a in range(len(str(i))):
if int(str(i)[a]) % 2 == 0:
break
else:
prime.append(i)
if i > n:
for b in range(len(str(i))):
if int(str(i)[b]) % 2 == 0:
break
else:
result.append(i)
loop = False
i = i + 1
for i in prime:
if int(str(i)[0]) % 2 != 0 and i < n:
primeodd.append(i)
result.insert(0, primeodd[-1])
result.insert(0, len(primeodd))
print(result)
return result
1条答案
按热度按时间sdnqo3pr1#
使用前面引用的Stackoverflow答案,我将这样解决这个问题: