14 из егэ. не сходится какая строка получится в результате применения ниже программы к строке, состоящей из 99 единиц? начало пока нашлось (111) если наш лось (222) то заменить (222, 1) иначе заменить (111, 2) конец если конец пока конец , ответ же 2? я туплю сижу, т.к. в ответах написно 22211, но 222 - это 1 и 111 - это

alinkaaa25 alinkaaa25    1   18.09.2019 04:40    6

Ответы
maktanya563 maktanya563  07.10.2020 23:16
Имеем строку из единиц длиной 99 символов.
Пока в строке имеется подстрока 111, выполняется цикл.
Подстрока 111 заменяется на 2 и это уменьшает длину строки на 2 символа.
Эта операция повторяется, пока не появится подстрока 222, что достигается за три прохода по циклу. При этом длина строки в целом сократится на 6.
Подстрока 222 заменяется на 1, после чего получается строка исходного вида (из одних единиц), но с длиной на 8 меньше исходной.
Этот процесс будет повторятся и длина строки последовательно будет такой:
99, 91, 83, ... 11. Можно предположить, что строка окончательно примет длину 99 mod 8 = 3, но все немного сложнее.
Дело в том, что строка длиной 11, т.е. 1111111111 будет последовательно преобразована к
211111111
2211111
22211
и после этого цикл закончится, поскольку подстроки 111 больше найдено не будет.

ответ: 22211
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика