функция рекурсии для печати всех возможных комбинаций

#c #recursion

#c #рекурсия

Вопрос:

У меня есть строка, представляющая число, с некоторыми цифрами, «скрытыми» за символом «!».

Я хотел бы сгенерировать и распечатать все возможные числа, полученные путем замены ‘!’ на ‘1’ или ‘2’.

Например:

 INPUT:  12!21!
OUTPUT: 121211
        121212
        122211
        122212
  

Я хотел бы решить эту проблему с помощью рекурсивной функции на C.

Комментарии:

1. Привет! Добро пожаловать в StackOverflow. Вопрос закрыт. Я считаю, что это потому, что действительно сложно понять проблему. Не могли бы вы отредактировать вопрос, чтобы объяснить проблему более подробно? Как перейти от ввода «12! 21!» к выводу «121211» «121212» «122211» «122212»? Если вы объясните проблему более четко, мы можем проголосовать за повторное открытие вопроса.

2. Неважно, я понял проблему и проголосовал за повторное открытие.

Ответ №1:

Позвольте мне написать это в псевдокоде:

 void combination(input_array){
boolean bExclamation_found = (index("!",input_array)>-1);
if bExclamation_found
then printout(input_array)
else {
  combination(replace_one_exclamation(input_array, "1"));
  combination(replace_one_exclamation(input_array, "2"));
}
  

Удачи