Имеется исходное число, например 653, я его разбираю на массив [6,5,3].
Мне нужно перебрать все возможные варианты чисел используя все эти цифры (6,5,3). Т.е результатом будет:
653, 635, 536, 563, 365, 356. Комбинации чисел длина которых меньше 3(в данном случае) например 65, 31.... не нужны.
Какой алгоритм для этой задачи лучше всего подойдет?