Если вы можете сгенерировать простые числа, вы можете выполнить простое разложение. Единственная проблема в том, что это неизбежно медленно.
Простой способ - использовать традиционный набор эратосфенов для генерации простых чисел. Для каждого сгенерированного простого числа (в порядке возрастания) неоднократно проверяйте, делит ли оно ваше число. Каждый раз, когда это происходит, примите это как фактор и замените ваш номер результатом деления. Когда вы не можете больше делить, переходите к следующему штриху.
Итак, если бы ваш номер был 20, вы бы сначала попробовали простое число 2.
20/2 = 10, so accept factor 2 and use number 10
10/2 = 5, so accept factor 2 and use number 5
5/2 = 2 rem 1, so move onto prime 3
5/3 = 1 rem 2, so move onto prime 5
5/5 = 1, so accept factor 5 and use number 1
Когда вы уменьшаете оставшееся число до 1, вы заканчиваете.