написать функцию, которая по данному натуральному числу

находит максимальное число

такое, что

делится на

, где

-простое число
какую вообще идею использовать?
перебирать все простые числа, начиная с двойки? и если делится, то запускать функцию для числа

?
например, пусть

и начать с

. 32 делится на 2. и дальше давать на вход уже число 16. оно опять делится на 2. и так далее. В конце получится, что

.
Или можно еще какую-то более рациональную идею использовать?
-- 25.07.2017, 01:29 --по идее можно факторизовать число. но для факторизации нет эффективного алгоритма