Редактор получает ** вход строку цифр и преобразовывает её. Редактор может выполнять две...

0 голосов
101 просмотров

Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.

нашлось (v)

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка при этом не изменяется.

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (2222) ИЛИ нашлось (5555)

ЕСЛИ нашлось (2222)

ТО заменить (2222, 5)

ИНАЧЕ заменить (5555, 2)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из

254 идущих подряд цифр 5?

В ответе запишите полученную строку.


Информатика (15 баллов) | 101 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа (python 3.5), делающая то, что указано в условии:
from re import sub
s = '5' * 254
while ('2222' in s) or ('5555' in s):
  if '2222' in s:
    s = sub('2222', '5', s, 1)
  else:
    s = sub('5555', '2', s, 1)
print(s)

Получается 22255

(148k баллов)