Task 81. Факторизация числа
UniLecsЗадача: по заданному натуральному числу найти все его простые делители. Вывести все эти делители в степени, в ктр они встречаются в числе.
Входные данные: n - натуральное число, где n <= 10^4
Вывод: вывести все простые делители числа и указать для каждого делителя степень, в ктр они встречаются в n.
Пример:
1. n = 525; Answer = 3 * 5^2 * 7
2. n = 199; Answer = 199
Идея: факторизация числа довольно обширная тема, существует несколько алгоритмов для факторизации. Мы воспользуемся тривиальным делением с небольшими оптимизациями. Остальные алгоритмы по факторизации числа вы можете посмотреть на след.ресурсах:
В нашем решении все очевидно, переберем все возможные простые делители числа n от 2 до корня n и для каждого делителя подсчитаем количество его вхождений в n.
Реализация:

https://gist.github.com/unilecs/6c4ba9301ea99b6f65ae72b3466bd189
Тест: