
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять
две команды, в обеих командах v и w обозначают цепочки цифр. заменить (v, w)нашлось (v)Дана программа для исполнителя Редактор:НАЧАЛОПОКА нашлось (333) ИЛИ нашлось (555)ЕСЛИ нашлось (555)ТО заменить (555, 3)ИНАЧЕ заменить (333, 5)КОНЕЦ ЕСЛИКОНЕЦ ПОКАКОНЕЦКакая строка получится в результате применения приведённой ниже программы к строке, состоящей из 72 идущих подряд цифр 5? В ответе запишите полученную строку.

Ответы на вопрос

Ответ: 5533
Проще всего решить данную задачу через программу на питоне:
s = '5' * 72
while '333' in s or '555' in s:
if '555' in s:
s = s.replace('555', '3', 1)
else:
s = s.replace('333', '5', 1)
print(s)
Но, если делать вручную, тогда так:
Возьмём 10 символов из строки, состоящей из 72 идущих подряд цифр 5.
5555555555
Читаем программу: ЕСЛИ нашлось (555) ТО заменить (555, 3)
555 555 555 5
3 3 3 5
Стоит заметить, что у нас получилась строка 3335, но не спешим её заменять на 5, ведь по условию нужно найти все 5 и только если их нет, переходить к else (ИНАЧЕ заменить (333, 5))
Исходя из этого, заменим всю строку по 1 условию (ЕСЛИ нашлось (555) ТО заменить (555, 3)), т.е. просто поделим всё количество на 3.
72 / 3 = 24 без остатка (Это значит, что все пятёрки заменились на тройки)
Итак, остались 24 тройки, запишем 10 символов и посмотрим, что будет:
3333333333
333 333 333 3
5 5 5 3
3 3
Мы видим, что из 9 троек получилась ровно 1, поделим 24 на 9
У нас получится 2 и ещё 6 в остатке, т.е. выглядеть строка будет так:
33 333333
Заменяем на "5"
333 333 33
5 5 33
Это и есть ответ.



Давайте разберем, как будет работать программа на входе, состоящем из 72 цифр 5.
- Начнем с начала программы.
- Проверим условие "нашлось (333) ИЛИ нашлось (555)". Поскольку входная строка состоит только из цифры 5, условие "нашлось (333)" не будет выполнено, но "нашлось (555)" выполнится.
- Внутри блока ЕСЛИ нашлось (555)ТО выполнится команда "заменить (555, 3)", заменяя первые три пятерки на цифру 3.
- После этого программа заканчивается, так как нет других команд вне блока ЕСЛИ.
Итак, в результате применения программы к строке из 72 цифр 5, первые три пятерки будут заменены на 3. Полученная строка:
53555555555555555555555555555555555555555555555555555555555555555555


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili