У меня есть задание: пользователь вводит строку, например ABCD, и программа должна выдать все перестановки. Мне не нужен весь код, просто совет. это то, что я получил до сих пор, я ничего не реализовал.
Возьмем ABCD в качестве примера:
получить факториал длины строки в этом случае 4! = 24.
24/4 = 6 Итак, первая буква должна измениться после 6. Пока все хорошо.
чем получить факториал оставшихся букв, которые равны трем 3! = 6.
6/3 = 2 2 места для каждой буквы. отсюда я не знаю, как он может продолжать заполнять 24 места.
С этим алгоритмом все, что у меня будет, это
АВСD
АБД
AC
AC
AD
AD
B
B
B
B
B
B
.
. (продолжение с 6 C и 6 D)
Я думаю, что моя проблема в том, что у меня нет большого опыта работы с рекурсивными проблемами, поэтому, кто может предложить некоторые программы для программирования, которые помогут мне лучше узнать рекурсию, сделайте это.
Спасибо! Если что-то не ясно, укажите.