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

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

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

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

а)  если число N де­лит­ся на 5, то к этой за­пи­си до­пи­сы­ва­ет­ся спра­ва две еди­ни­цы;

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

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

3.  Ре­зуль­тат пе­ре­во­дит­ся в де­ся­тич­ную си­сте­му и вы­во­дит­ся на экран.

На­при­мер, для ис­ход­но­го числа 20 = 101002 ре­зуль­та­том яв­ля­ет­ся число 10100112  =  83, а для ис­ход­но­го числа 14  =  11102 ре­зуль­та­том яв­ля­ет­ся число 1110102  =  58.

Ука­жи­те ми­ни­маль­ное чётное число N, для ко­то­ро­го с по­мо­щью опи­сан­но­го

ал­го­рит­ма по­лу­ча­ет­ся число, пре­вы­ша­ю­щее 896. В от­ве­те за­пи­ши­те это число в де­ся­тич­ной си­сте­ме счис­ле­ния

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

Ре­ше­ние.

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

for N in range(2, 1000,2):

S = bin(N)[2:]

if N%5 == 0:

R = S + '11'

else:

R = S + bin(N//5)[2:]

if int(R,2) > 896:

print(N)

break

 

Ответ: 56.


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