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

На вход ал­го­рит­ма подаётся на­ту­раль­ное число N. Ал­го­ритм стро­ит по нему новое число сле­ду­ю­щим об­ра­зом.

1)  Стро­ит­ся дво­ич­ная за­пись числа N.

2)  К этой за­пи­си до­пи­сы­ва­ют­ся спра­ва ещё два раз­ря­да по сле­ду­ю­ще­му пра­ви­лу: если N чётное, в конец числа (спра­ва) до­пи­сы­ва­ют­ся два нуля, в про­тив­ном слу­чае спра­ва до­пи­сы­ва­ют­ся две еди­ни­цы. На­при­мер, дво­ич­ная за­пись 1001 числа 9 будет пре­об­ра­зо­ва­на в 100111.

По­лу­чен­ная таким об­ра­зом за­пись (в ней на два раз­ря­да боль­ше, чем в за­пи­си ис­ход­но­го числа N) яв­ля­ет­ся дво­ич­ной за­пи­сью числа  — ре­зуль­та­та ра­бо­ты дан­но­го ал­го­рит­ма.

Ука­жи­те мак­си­маль­ное число N, для ко­то­ро­го ре­зуль­тат ра­бо­ты ал­го­рит­ма будет мень­ше 134. В от­ве­те это число за­пи­ши­те в де­ся­тич­ной си­сте­ме счис­ле­ния.

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

Ре­ше­ние.

За­ме­тим, что если число чётное, то в конец его дво­ич­ной за­пи­си до­бав­ля­ют­ся цифры 00, а если нечётное  — цифры 11.

Рас­смот­рим числа, мень­шие 134, и най­дем мак­си­маль­ное число, ко­то­рое яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

 

13310  =  1000 01012  — не может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

13210  =  1000 01002  — не может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

13110  =  1000 00112  — не может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

13010  =  1000 00102  — не может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

12910  =  1000 00012  — не может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

12810  =  1000 00002  — может яв­лять­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма.

 

Вы­пол­ним об­рат­ное пре­об­ра­зо­ва­ние числа 128 со­глас­но ал­го­рит­му. По­лу­чим ответ  — 32.

 

Ответ: 32.

 

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

for i in range(100, 0, -1):

s = bin(i)[2:] # пе­ре­вод в дво­ич­ную си­сте­му

s = str(s)

if i % 2 == 0:

s += "00"

else:

s += "11"

r = int(s, 2) # пе­ре­вод в де­ся­тич­ную си­сте­му

if r < 134:

print(i)

break


Аналоги к заданию № 15846: 23904 25836 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 2020. До­сроч­ная волна. Ва­ри­ант 2
Раздел кодификатора ФИПИ: 1.6.3 По­стро­е­ние ал­го­рит­мов и прак­ти­че­ские вы­чис­ле­ния