Предмет: Информатика, автор: Splesher1337

Какая строка получится в результате применения приведённой ниже
программы к строке, состоящей из 72 идущих подряд цифр 5? В ответе
запишите полученную строку

ПОКА нашлось (333) ИЛИ нашлось (555)
ЕСЛИ нашлось (555)
ТО заменить (555, 3)
ИНАЧЕ заменить (333, 5)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА

В моём понимании всё происходит так: 72(5)/3=24(3); 24(3)/3=8(5); 8(5)/3=2,...(3) => 3355, но ответ выглядит так: 5533

Что же я не так делаю? Прошу подробного ответа.

Ответы

Автор ответа: MrMiner1
10

Итак. Мы имеем строку из 72 пятерок.

Сначала все пятерки заменяются на тройки (приоритетным действием у нас является замена первого вхождение трех идущих подряд пятерок тройками, а т.к. 72 кратно трем, то преобразованная строка будет состоять только из троек). После этого у нас остается строка, состоящая из 24 троек.

555 555 555 555 ... 555 => 333 333 333 333 333 333 333 333

Затем происходят такие действия: три последовательно идущие тройки заменяются на пятерки, а после того как таких пятерок будет три, они заменятся на одну тройку. Следственно 9 троек заменяются на одну. После проведение данных действий у нас остается 24-9+1-9+1=16-9+1=8 троек.

333 333 333 333 333 333 333 333

555 333 333 333 333 333

333 333 333 333 333 3

555 333 333 3

333 333 33

Так как мы уже не можем получить заменой троек хотя бы три пятерки, то первые вхождения трех подряд идущих троек заменяются пятерками.

333 333 33

5 333 33

5533

Ответ: 5533

Похожие вопросы
Предмет: Русский язык, автор: Kokookoj
Предмет: Алгебра, автор: vladislavvlasyuk23
Предмет: Математика, автор: МистерДудей
Предмет: Литература, автор: oksi85