【发布时间】:2018-05-15 12:26:54
【问题描述】:
我已经编写了以下代码来找到数字 600851475143 的最大素数,但计算时间过长。我可以做些什么来减少计算时间。谢谢!
def factor(n):
answer = []
for i in range(1,(n//2) + 1):
if n%i == 0:
print(i)
answer.append(i)
return answer
def prime_factor(n):
l = n[:]
for i in n:
for j in range(2,i):
if i%j == 0:
l.remove(i)
break
return l
print(prime_factor(factor(600851475143)))
【问题讨论】:
标签: python-3.x time