【发布时间】:2012-09-18 06:59:00
【问题描述】:
13195 的质因数是 5、7、13 和 29。 600851475143这个数的最大质因数是多少?
我用自己的方式在 Project Euler 上解决了这个问题,速度很慢,然后我在某人的 github 帐户上找到了这个解决方案。我不知道为什么它有效。为什么去除了许多因子,等于一个索引?有什么见解吗?
def Euler3(n=600851475143):
for i in range(2,100000):
while n % i == 0:
n //= i
if n == 1 or n == i:
return i
【问题讨论】:
-
函数返回6857,运行方便。
-
它不适用于 600851475149。
-
是的,看起来像是一次性破解 Project Euler 的特定问题