Я только начинаю учиться кодировать на Python . Я пытаюсь написать код, чтобы ответить на этот вопрос Project Euler:
Простые делители числа 13195 равны 5, 7, 13 и 29.
Каков наибольший простой делитель числа 600851475143?
Моя программа работает с тестовым набором 13195, но когда я пытаюсь ввести 600851475143, я получаю сообщение об ошибке: «OverflowError: в результатах range() слишком много элементов» Кто-нибудь знает, как я могу это исправить?
Вот мой код:
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
Будем признательны за любую помощь или предложения!