Твой ответ на задание неверный.
Для решения этого задания необходимо использовать метод обратной подстановки. Изначально в строке было не менее 30 единиц, значит нужно рассмотреть ситуацию, когда все единицы заменены на двойки. Из приведенной программы следует, что все единицы заменяются на двойки, а все двойки — на единицы. Применяем программу к строке, содержащей только единицы:
- первая замена: 111 заменяется на 2 (в результате получается строка 2);
- вторая замена: 222 не найдено;
- полученная строка: 2.
Далее применяем программу к полученной строке:
- первая замена: 111 не найдено;
- вторая замена: 222 заменяется на 1 (в результате получается строка 1);
- полученная строка: 21.
Полученная строка 21 не является искомой, так как она содержит всего одну единицу. Нужно рассмотреть другое количество единиц в исходной строке.
При количестве единиц, равном 31, после первой замены из строки будет удалено одно из трех участков «111», оставившихся в результате замены. В результате дальнейшей работы программы будут добавлены не более двух двоек, и строка после двух применений программы будет содержать не менее трех единиц.
Для количества единиц, равном 32, после первой замены будет удален один участок «111», и добавлены не более двух двоек. Однако после второго применения функции в результате замены двух последних участков строки будут добавлены еще как минимум две единицы, а количество единиц в строке достигнет четырех.
Таким образом, при наличии в исходной строке 31 единицы минимальное количество единиц, которое может остаться в результате применения к ней данной программы, равно 3, следовательно, этот ответ является верным.
Проверь мой ответ лайком, если мое объяснение было полезным для тебя.
