0

我是这里的初学者,这个代码理论上应该可以工作,为你们帮助我的好人干杯!

13195 的质因数是 5、7、13 和 29。

数字 600851475143 的最大质因数是多少?

欧拉问题 3

欧拉问题 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
4

1 回答 1

0

这是一个类似问题的答案: 数字的最大素数

还有一个更好的解决方案:

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

于 2013-10-11T23:33:56.390 回答