Учитывая, что в условии допускается 100000-значное число, то работать с ним как с числом в С++ так просто не получится. Задача решается с помощью подсчёта цифр как символов вводимых строк. Для каждой из двух входных строк надо посчитать количество каждых цифр. Получится два массива по 10 элементов. Затем, начиная с 9 надо вывести цифры в количестве, равном минимальному из двух значений соответствующих ячеек массива.
Например:
280138
798081
Первый массив:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+---+---+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 0 |
Второй массив:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+---+---+---+---+---+---+---+---+---+---+
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 1 |
Минимумы:
| 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+---+---+
| 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Результат:
8810