Условие

Простые делители числа 13195 — это 5, 7, 13 и 29.

Каков самый большой делитель числа 600851475143, являющийся простым числом?


Решение задачи от разработчиков на Python:

Copy to Clipboard

Еще одно решение задачи на Python:

Copy to Clipboard

Еще одно решение задачи на Python:

Copy to Clipboard

Решение с помощью факторизации:

Copy to Clipboard

Еще одно простое решение:

Простое число — это натуральное число больше единицы, которое делится на 1 и само на себя. Чтобы найти все простые делители разумно будет сократить диапазон значений для перебора, поэтому будем перебирать до квадратного корня 600851475143 округленного вверх (функцией math.ceil)
Перебор будем вести начиная с числа 3.
Если i делит число на цело, рекурсивно обращаемся к функции issimple c аргументом i.
Функция issimple возвращает пустой список если число является простым. В этом случае число попадает в результирующий список.
Далее остается только вернуть максимальное значение массива простых чисел, которые нацело делят число 600851475143 
Copy to Clipboard

Понравилось решение? Поделись своей реализацией в комментариях! 👇

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии