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

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

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

2.  Далее эта за­пись об­ра­ба­ты­ва­ет­ся по сле­ду­ю­ще­му пра­ви­лу:

а)  если число чётное, то к дво­ич­ной за­пи­си числа слева до­пи­сы­ва­ет­ся 1, а спра­ва  — 0. На­при­мер, для ис­ход­но­го числа 1002 ре­зуль­та­том будет яв­лять­ся число 11000;

б)  если число нечётное, то к дво­ич­ной за­пи­си числа слева до­пи­сы­ва­ет­ся 11 и спра­ва до­пи­сы­ва­ет­ся 11.

По­лу­чен­ная таким об­ра­зом за­пись яв­ля­ет­ся дво­ич­ной за­пи­сью ис­ко­мо­го числа R.

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

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

Ре­ше­ние.

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

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

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

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

5610  =  1110002  — яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма для числа 11002 = 1210.

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

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

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

6010  =  1111002  — яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма для числа 11102 = 1410.

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

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

6310  =  1111112  — яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма для числа 112  =  310.

Для чисел 110 и 210 после по­стро­е­ния по ним новых чисел R будут по­лу­чать­ся числа, мень­шие 52: при об­ра­бот­ке числа 110 будет по­лу­че­но число 111112, а при об­ра­бот­ке числа 210 будет по­лу­че­но число 11002. Сле­до­ва­тель­но, ми­ни­маль­ное число N, после об­ра­бот­ки ко­то­ро­го по­лу­ча­ет­ся число, боль­шее чем 52, яв­ля­ет­ся 3.

 

Ответ: 3.

 

При­ме­ча­ние.

За­ме­тим, что при по­стро­е­нии дво­ич­ной за­пи­си числа N левые (не­зна­ча­щие) нули не за­пи­сы­ва­ют­ся. На­при­мер, число 1 будет пред­став­ле­но как 1, а не как 01.

 

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

for n in range(1, 100):

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

s = str(s)

if s[-1] == '0':

s = '1' + s + '0'

else:

s = '11' + s + '11'

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

if r > 52:

print(n)

break

Источник: ЕГЭ по ин­фор­ма­ти­ке 13.06.2019. Ос­нов­ная волна, Центр. Ва­ри­ант Има­е­ва-Зу­бо­вой — «Ко­то­лис»
Раздел кодификатора ФИПИ: 1.6.3 По­стро­е­ние ал­го­рит­мов и прак­ти­че­ские вы­чис­ле­ния