Задача сводится к поиску всех делителей числа.
Если число имеет простой делитель больше 10, то задача не имеет решения.
Имеет смысл искать делители, начиная с 9. Это сократит количество чисел в записи числа.
9=3х3, 8=2х4, 6=2x3, 4=2x2.
Как только все делители были найдены, достаточно их просто перевернуть чтобы получить ответ.
function solve(num) {
if (num < 10) {
return num;
}
const digits = [];
let current = 9;
while(current > 1) {
if (num % current === 0) {
digits.push(current);
num /= current;
} else {
current--;
}
}
if (num > 9) {
return -1;
}
return +digits.reverse().join("");
}