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

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

 такое, что  

 делится на 

, где 

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

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

и начать с 

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

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