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

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

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

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

за­ме­нить (111, 27)

пре­об­ра­зу­ет стро­ку 05111150 в стро­ку 0527150.

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

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

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

 

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

НА­ЧА­ЛО

    ПОКА на­шлось (111)

            за­ме­нить (111, 2)

            за­ме­нить (222, 11)

            за­ме­нить (1, 2)

    КОНЕЦ ПОКА

КОНЕЦ

 

Опре­де­ли­те ко­ли­че­ство таких на­ту­раль­ных N из ин­тер­ва­ла [123 456 794; 678 901 234], для ко­то­рых в ре­зуль­та­те при­ме­не­ния дан­ной про­грам­мы к стро­ке, со­сто­я­щей из N еди­ниц, по­лу­чит­ся стро­ка, со­сто­я­щая толь­ко из двоек.

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

Ре­ше­ние.

Про­ана­ли­зи­ру­ем ра­бо­ту Ре­дак­то­ра, для этого при­ведём код на языке Python.

for N in range (1,100):

s = '1' * N

while ('111' in s):

s=s.replace('111','2',1)

s=s.replace('222','11',1)

s=s.replace('1','2',1)

if s.count('1') == 0:

print(s,N)

По­лу­ча­ем за­ко­но­мер­ность, числа идут через про­ме­жут­ки 1, 6 и 9. По­лу­ча­ем груп­пы по 3 числа, ко­то­рые ме­ня­ют­ся с пе­ри­о­дич­но­стью 16 (1+6+9). По­счи­та­ем ко­ли­че­ство под­хо­дя­щих чисел.

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

с = 0

for i in range(123_456_794//16, 678_901_234//16+1):

if 123_456_794 <= 16*i+9<= 678_901_234:

с += 1

if 123_456_794 <= 16*i+10 <= 678_901_234:

с += 1

if 123_456_794 <= 16*i+16 <= 678_901_234:

с += 1

print(с)

 

Ответ: 104145833.


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

Источник: Стат­Град: Тре­ни­ро­воч­ная ра­бо­та 24.10.2024 ИН2410101