Python „OverflowError”

Właśnie zaczynam uczyć się kodować w Pythonie. Próbuję napisać kod, aby odpowiedzieć na to pytanie dotyczące projektu Euler:

Główne czynniki 13195 to 5, 7, 13 i 29.

Jaki jest największy współczynnik pierwszorzędny liczby 600851475143?

Mój program działa z testowym przypadkiem 13195, ale gdy próbuję wprowadzić 600851475143, pojawia się błąd: „Wyniki OverflowError: range () mają zbyt wiele elementów” Czy ktoś wie, jak mogę to naprawić?

Oto mój kod:

class Euler3:
    "A class to find the largest prime factor of a given number"
     n = 600851475143
     primeFactors = []
     for i in range(2,n):
         if (n%i ==0):
            primeFactors.append(i)
            n = n/i
            i = i -1 #reset i
     print primeFactors

Każda pomoc lub sugestie byłyby bardzo mile widziane!

questionAnswers(8)

yourAnswerToTheQuestion