Я пытаюсь решить проблему 3 с этого сайта https://projecteuler.net/problem=3, и это называется вот так: «Основные факторы 13195 - это 5, 7, 13 и 29. Какой самый большой главный факторномер 600851475143? «Почему, когда я пытаюсь запустить мой код с большими числами (больше, чем 1000000) - он печатается на экране? Как я могу решить эту проблему и решить эту задачу?
У меня есть некоторый правильный рабочий код, то есть работа с небольшим входным аргументом (например, 13195. Но когда я пытаюсь получить ответ с большим аргументом, например, 600851475143и запустите этот код, он напечатан nothng.
def is_it_prime(x): # function check: is it number a prime or not and return True or False?
if x != 1:
i = int(x/2)
else:
i = 1 # x == 1 It is a simple case, where is argument - it is a prime number
while i != 1:
if x % i == 0: # This number isn't prime
return False
i -= 1
return True # Done! We find largest prime number
def largest_prime(x): # function check argument on whole divide availible
i = int(x/2)
while True:
if x % i == 0: # argument have whole divide
if is_it_prime(i) == True:
break
i -=1
return i # It is the largest prime factor
print(largest_prime(600851475143))
--------------------------------------------------------
>>>