Генерация подпоследовательностей

У меня есть строка типа «0189», для которой мне нужно сгенерировать все подпоследовательности, но порядок отдельных символов должен быть сохранен, т. Е. Здесь 9 не должно предшествовать 0, 1 или 8. Пример: 0, 018, 01, 09, 0189, 18, 19, 019 и т. Д.

Другим примером является "10292" для которых подпоследовательности будут: 1, 10, 02, 02, 09, 29, 92 и т. д. Как вы могли заметить, «02»; два раза, начиная с '2' приходит дважды в данной строке. Но опять же, такие вещи, как: 21, 01, 91 являются недействительными, так как порядок должен поддерживаться.

Любой алгоритм или псевдо-код, который может быть реализован на C / C ++, будет принят!

Ответы на вопрос(4)

Ваш ответ на вопрос