Это просто, если вы думаете, что каждая буква в строке либо «включена», либо «выключена» - как бит в двоичном числе. На самом деле, вы можете представить его таковым.
Так что думайте о вашей строке как о четырехбитном числе, которое может быть любым от 0b0000 = 0 = ""
до 0b1111 = 15 = "ABCD"
. Затем вы можете просто просмотреть все числа от 0 до 15 и найти соответствующую «перестановку», посмотрев, какие биты установлены.
Например, «перестановка» 6: 0b0110 -> " BC "
Надеюсь, это поможет!
PS: Если это домашнее задание, вы должны пометить его как таковое - здесь немного не так.
PPS: Ваши " перестановки " на самом деле " комбинаций. " Связаны с Википедией на всякий случай, если вам интересно.