我正在编写一个代码来找到一个非常大的数的最大素数。
欧拉计划第 3 题:600851475143 的最大素因数是多少?
我用 C 编写了它......但是数据类型 long long int 不足以容纳 value 。
现在,我已经用 Python 重写了代码。如何减少执行时间(因为它需要相当长的时间)?
def isprime(b):
x=2
while x<=b/2:
if(b%x)==0:
return 0
x+=1
return 1
def lpf(a):
x=2
i=2
while i<=a/2:
if a%i==0:
if isprime(i)==1:
if i>x:
x=i
print(x)
i+=1
print("final answer"+x)
z=600851475143
lpf(z)