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

Ис­пол­ни­тель КАЛЬ­КУ­ЛЯ­ТОР имеет толь­ко две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

 

1.  вычти 1

2.  умножь на 2

 

Вы­пол­няя ко­ман­ду номер 1, КАЛЬ­КУ­ЛЯ­ТОР вы­чи­та­ет из числа на экра­не 1, а вы­пол­няя

ко­ман­ду номер 2, умно­жа­ет число на экра­не на 2. На­пи­ши­те про­грам­му, со­дер­жа­щую не

более 4 ко­манд, ко­то­рая из числа 3 по­лу­ча­ет число 16. Ука­жи­те лишь но­ме­ра ко­манд.

На­при­мер, про­грам­ма 21211 – это про­грам­ма:

 

умножь на 2

вычти 1

умножь на 2

вычти 1

вычти 1

 

ко­то­рая пре­об­ра­зу­ет число 1 в число 0.

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

Ре­ше­ние.

Умно­же­ние на число об­ра­ти­мо не для лю­бо­го числа, по­это­му, если мы пойдём от числа 16 к числу 3, тогда од­но­знач­но вос­ста­но­вим про­грам­му. По­лу­чен­ные ко­ман­ды будут за­пи­сы­вать­ся спра­ва на­ле­во.

 

1)  Т. к. мы хотим по­лу­чить не более 4 ко­манд, то для по­лу­че­ния числа 16 вы­год­но ис­поль­зо­вать умно­же­ние: 16 = 8 * 2 (ко­ман­да 2).

 

При­ме­ня­ем к числу 8 такое же рас­суж­де­ние: 8 = 4 * 2 (ко­ман­да 2) и к числу 4: 2 * 2 (ко­ман­да 2).

 

Мы уже про­ско­чи­ли число 3, по­это­му число 2 по­лу­че­но как 2 = 3 - 1 (ко­ман­да 1).

 

Тогда окон­ча­тель­но по­лу­ча­ем ответ: 1222

Раздел кодификатора ФИПИ: 1.6.3 По­стро­е­ние ал­го­рит­мов и прак­ти­че­ские вы­чис­ле­ния