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

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

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

2)  К этой за­пи­си до­пи­сы­ва­ют­ся спра­ва ещё два раз­ря­да по сле­ду­ю­ще­му пра­ви­лу:

       а)  если N чётное, в конец числа (спра­ва) до­пи­сы­ва­ет­ся сна­ча­ла ноль, а затем еди­ни­ца.

       б)  если N нечётное, спра­ва до­пи­сы­ва­ет­ся сна­ча­ла еди­ни­ца, а затем ноль.

На­при­мер, дво­ич­ная за­пись 100 числа 4 будет пре­об­ра­зо­ва­на в 10001, а дво­ич­ная за­пись 111 числа 7 будет пре­об­ра­зо­ва­на в 11110.

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

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

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

Ре­ше­ние.

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

 

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

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

10510  =  11010012  — яв­ля­ет­ся ре­зуль­та­том ра­бо­ты ал­го­рит­ма; по­лу­че­но в ре­зуль­та­те об­ра­бот­ки чет­но­го числа 110102  =  2610.

 

Ответ: 105.

 

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

for n in range(1, 100):

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

if n % 2 == 0:

s += "01"

else:

s += "10"

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

if r > 102:

print(r)

break

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