Вопрос:

Исполнитель Физикот получает на вход строку цифр и преобразовывает её. Физикот может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 59 идущих подряд цифр 4? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (44) ИЛИ нашлось (6666) ЕСЛИ нашлось (6666) ТО заменить (6666, 4) ИНАЧЕ заменить (44, 66) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА

Смотреть решения всех заданий с листа

Ответ:

Разберем алгоритм программы для исполнителя Физикот.

Исходная строка состоит из 59 цифр 4: 44444444444444444444444444444444444444444444444444444444444

Цикл ПОКА выполняется, пока в строке есть подстрока "44" или "6666".

  1. Первая итерация цикла: находится подстрока "44". Заменяем первое вхождение "44" на "66". Строка становится: 664444444444444444444444444444444444444444444444444444444444
  2. Вторая итерация цикла: находится подстрока "44". Заменяем первое вхождение "44" на "66". Строка становится: 66664444444444444444444444444444444444444444444444444444444
  3. Третья итерация цикла: находится подстрока "6666". Заменяем первое вхождение "6666" на "4". Строка становится: 4444444444444444444444444444444444444444444444444444444444

После третьей итерации строка снова состоит только из цифр 4. Заметим, что каждая замена "44" на "66" увеличивает длину строки на 0. Замена "6666" на "4" уменьшает длину строки на 3. Поскольку исходная длина строки 59, после первой и второй замены длина не изменяется, после третьей уменьшается на 3.

Продолжим анализ.

После третьей итерации в строке 56 цифр 4. Заменим первые 28 пар "44" на "66", получим 28 замен, и в строке будет: 66666666666666666666666666664444444444444444444444444444

Далее заменим все 7 блоков "6666" на "4". Получим 7 замен. Строка станет: 4444444444444444444444444444444444444444444444

В строке 49 цифр 4. Далее можно сделать 24 замены "44" на "66": 6666666666666666666666666666666666666666666666664

Заменим 8 блоков "6666" на "4". Строка станет: 444444444444444444444444444444444444444444444444444

В строке 41 цифра 4. Далее можно сделать 20 замен "44" на "66": 66666666666666666666666666666666666666664

Заменим 10 блоков "6666" на "4". Строка станет: 444444444444444444444444444444444444444

В строке 31 цифра 4. Далее можно сделать 15 замен "44" на "66": 6666666666666666666666666666664

Заменим 7 блоков "6666" на "4". Строка станет: 444444444444444444444444444444

В строке 24 цифры 4. Далее можно сделать 12 замен "44" на "66": 666666666666666666666666

Заменим 6 блоков "6666" на "4". Строка станет: 444444444444

В строке 12 цифр 4. Далее можно сделать 6 замен "44" на "66": 666666666666

Заменим 3 блока "6666" на "4". Строка станет: 444

В строке 3 цифры 4. Заменим "44" на "66". Строка станет: 664

Цикл ПОКА завершается, так как больше нет подстрок "44" или "6666".

Ответ: 664

ГДЗ по фото 📸
Подать жалобу Правообладателю