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 に答える