Я пытаюсь построить программу на JAVA, которая использует теорему уникальной факторизации.
Я имею в виду, получить число> 1 от пользователя и распечатать все уникальные факторизации со счетчиком.
для ex, для 100 вывод должен быть
2 2
5 2
с 100 = 2 * 2 * 5 * 5
и для 23 вывод должен быть
23
если на входе 6, то на выходе будет
2
3
и последний пример для 8112:
2 4
3
13 2
Пока что я реализую код, который дает первый столбец и корректирует простые числа. однако мне не удалось посчитать, когда счетчик> 1, чтобы напечатать второй столбец.
Мой код указан ниже:
int n = scanner.nextInt();
int num = 2;
while (num <= n) {
int i = 2;
boolean isPrime = true;
while (i < num && isPrime) {
if (num % i == 0) {
isPrime = false;
}
i++;
}
if (isPrime) {
int counter = 1;
if (n % num == 0) {
System.out.println(num);
}
}
num++;
}
Есть идеи, что мне не хватает?