【发布时间】:2018-04-08 20:49:58
【问题描述】:
我当前的代码:
import math
def factorMe(value):
last = int(math.sqrt(value)+1)
for i in range(2,last):
if value %i ==0:
return (i,int(value/i))
我的代码可以满足大多数测试用例;但是如果输入是 603091532958059 那么答案将是 (24557917, 24557927);但是需要超过 1 秒才能完成(超过时间限制);
有什么建议吗?谢谢!
【问题讨论】:
-
您可以将代码速度提高 2 倍。在
for循环中,您只能检查奇数,因为只有偶数是 2。
标签: python processing-efficiency