Задания
Версия для печати и копирования в MS Word
Тип 12 № 55808
i

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

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

Эта ко­ман­да за­ме­ня­ет в стро­ке пер­вое слева вхож­де­ние це­поч­ки v на це­поч­ку w. На­при­мер, вы­пол­не­ние ко­ман­ды за­ме­нить (111, 27) пре­об­ра­зу­ет стро­ку 05111150 в стро­ку 0527150.

Если в стро­ке нет вхож­де­ний це­поч­ки v, то вы­пол­не­ние ко­ман­ды за­ме­нить (v, w) не ме­ня­ет эту стро­ку.

Б)  на­шлось (v).

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

 

Цикл

ПОКА усло­вие

                 по­сле­до­ва­тель­ность ко­манд

КОНЕЦ ПОКА

вы­пол­ня­ет­ся, пока усло­вие ис­тин­но.

В кон­струк­ции

ЕСЛИ усло­вие

                 ТО ко­ман­да1

КОНЕЦ ЕСЛИ

вы­пол­ня­ет­ся ко­ман­да1 (если усло­вие ис­тин­но) или ко­ман­да2 (если усло­вие ложно).

 

Ис­пол­ни­тель Ре­дак­тор по­лу­ча­ет на вход стро­ку, на­чи­на­ю­щу­ю­ся на 3 и со­дер­жа­щую далее n пя­те­рок (5), где n > 3.

На вы­пол­не­ние Ре­дак­то­ру дана сле­ду­ю­щая про­грам­ма:

НА­ЧА­ЛО

ПОКА на­шлось (25) ИЛИ на­шлось (355) ИЛИ на­шлось (555)

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

                    ТО за­ме­нить (25, 3)

                 КОНЕЦ ЕСЛИ

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

                      ТО за­ме­нить (355, 52)

                 КОНЕЦ ЕСЛИ

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

                       ТО за­ме­нить (555, 23)

                 КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

 

Най­ди­те ми­ни­маль­ное зна­че­ние n, при ко­то­ром сумма цифр ко­неч­ной стро­ки будет равна 27.

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

for n in range(4,100):

s = '3' + '5' * n

while ('25' in s) or ('355' in s) or ('555' in s):

s = s.replace('25', '3', 1)

s = s.replace('355', '52', 1)

s = s.replace('555', '23', 1)

if 2*s.count("2")+3*s.count("3")+5*s.count("5") == 27:

print(n)

break

 

Ответ: 16.

 

При­ведём ре­ше­ние Ев­ге­ния Дж­об­са (ана­ли­ти­че­ское).

По­сле­до­ва­тель­но рас­смот­рим пре­об­ра­зо­ва­ния строк. В скоб­ках будет ука­зы­вать номер сра­ба­ты­ва­е­мо­го усло­вия.

 

9 пя­те­рок10 пя­те­рок11 пя­те­рок 12 пя­те­рок 13 пя­те­рок14 пя­те­рок

3555555555

1 ите­ра­ция

525555555 (2)

52235555 (3)

2 ите­ра­ция

5225255 (2)

3 ите­ра­ция

523255 (1)

4 ите­ра­ция

52335 (1)





Раз­ни­ца от­сю­да

52252555 (2)

5225223 (3)

3 ите­ра­ция

523223 (1)





Раз­ни­ца от­сю­да

522525555 (2)

52252235 (3)

3 ите­ра­ция

5232235 (1)





Раз­ни­ца от­сю­да

5225255555 (2)

522522355 (3)

3 ите­ра­ция

52322355 (1)

5232252(2)

4 ите­ра­ция

523232 (1)





Раз­ни­ца от­сю­да

52252555555 (2)

5225223555 (3)

3 ите­ра­ция

523223555 (1)

52322525(2)

4 ите­ра­ция

5232325 (1)

5 ите­ра­ция

523233 (1)





Раз­ни­ца от­сю­да

522525555555 (2)

52252235555 (3)

3 ите­ра­ция

5232235555 (1)

523225255(2)

4 ите­ра­ция

52323255 (1)

5 ите­ра­ция

5232335 (1)

 

За­ме­тим, что при ис­сле­до­ва­нии стро­ки с 14 пя­тер­ка­ми мы по­лу­чи­ли стро­ку ана­ло­гич­ной кон­фи­гу­ра­ции, как и после об­ра­бот­ки стро­ки из 9 пя­те­рок. Сле­до­ва­тель­но, с шагом 5 мы будем по­лу­чать стро­ки кон­фи­гу­ра­ции ана­ло­гич­ной зна­че­нию n на 5 мень­ше, в ко­то­рой после 5 будет идти на одну пару 23 боль­ше.

Итого суммы для n:

 

9 : 1810 : 1711 : 2212 : 1713 : 23
14 : 2315 : 22 16 : 27

 

При­ме­ча­ние: в этой за­да­че можно было на­чать ис­сле­до­ва­ние и с n  =  3, но на малых зна­че­ни­ях из­ме­не­ние стро­ки может не про­хо­дить по об­ще­му пра­ви­лу, по­это­му лучше ис­сле­до­вать стро­ки боль­шей длины для вы­яв­ле­ния за­ко­но­мер­но­сти.


Аналоги к заданию № 55808: 57419 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 06.04.2023. До­сроч­ная волна