29.
Каков самый большой делитель числа 600851475143, являющийся простым числом?
num = list()
for i in range(600851475143):
if 600851475143 % i == 0:
num.append(i)
print(num[-1])
Попробовал этот вариант но не работает, да это говно код, помогите
самый большой делитель любого числа находится ниже половины данного числа
хорошо я разделю на два, но как узнать делитель потом?
if 600851475143 % i == 0: ZeroDivisionError: integer division or modulo by zero Вот это ошибка
Ну, во-первых, если вы хотите использовать перебор, то задайте диапазон чисел корректно, чтобы не делить на ноль и не получать такую ошибку
Задача сводится к разложению числа на простые множители
Благодарю Никита
Просто перебирать делители нельзя, так как ответ должен быть простым числом
Обсуждают сегодня