我是初学者,这段代码应该在理论上运作,为你们这些帮助我的人们欢呼!
13195的主要因素是5,7,13和29。
600851475143号码的最大主要因素是什么?
欧拉问题3
def prime(n):
for i in range(2,n-1):
if n % i == 0:
return False
else:
return True
x = input("Enter a number plz")
d = 0
while x > 0:
d = d + 1
if x % d == 0:
if prime(d) is True:
print d
答案 0 :(得分:0)
以下是对类似问题的回答: Largest prime factor of a number
更好的解决方案:
def prime_factors(n):
"""Returns all the prime factors of a positive integer"""
factors = []
d = 2
while n > 1:
while n % d == 0:
factors.append(d)
n /= d
d = d + 1
return factors
pfs = prime_factors(600851475143)
largest_prime_factor = max(pfs) # The largest element in the prime factor list
print pfs
print largest_prime_factor
#output
[71, 839, 1471, 6857]
6857