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

В 16‐бит­ном ре­ги­стре про­цес­со­ра 80286 каж­дый из 16 битов может при­ни­мать зна­че­ния 0 и 1. Таким об­ра­зом, число, за­пи­сан­ное в ре­гистр, пред­став­ля­ет собой по­сле­до­ва­тель­ность из 16 нулей и еди­ниц.

а)  Можно ли за­пи­сать в ре­гистр 30 раз­лич­ных чисел так, чтобы между лю­бы­ми двумя еди­ни­ца­ми в за­пи­си числа было не менее 7 нулей?

б)  Можно ли за­пи­сать 30 чисел с тем же усло­ви­ем, что и в пунк­те а), если 5 млад­ших битов ре­ги­стра (то есть по­след­них цифр в по­сле­до­ва­тель­но­сти) не­ис­прав­ны и все­гда равны нулю?

в)  Сколь­ко раз­лич­ных чисел с не менее чем 7 ну­ля­ми между лю­бы­ми двумя еди­ни­ца­ми можно за­пи­сать в 16‐бит­ный ре­гистр (со всеми 16 би­та­ми)?

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

Ре­ше­ние.

За­ме­тим, что если между лю­бы­ми двумя еди­ни­ца­ми в за­пи­си числа не менее 7 нулей, то в за­пи­си числа не может быть более двух еди­ниц. В про­тив­ном слу­чае по­на­до­бит­ся не менее 17 битов (1 + 7 + 1 + 7 + 1) для за­пи­си числа.

Без ис­поль­зо­ва­ния еди­ниц можно за­пи­сать толь­ко одно число. С ис­поль­зо­ва­ни­ем одной еди­ни­цы  — 16 чисел:

0000000000000001, 0000000000000010, 0000000000000100, ... 1000000000000000.

Рас­смот­рим слу­чай с ис­поль­зо­ва­ни­ем двух еди­ниц.

Есть 8 чисел, где между еди­ни­ца­ми ровно 7 нулей:

0000000100000001, 0000001000000010, 0000010000000100, ... 1000000010000000.

Если между еди­ни­ца­ми ровно 8 нулей, то чисел 7.

Если между еди­ни­ца­ми ровно 9 нулей, то чисел 6.

Если между еди­ни­ца­ми ровно 10 нулей, то чисел 5.

...

На­ко­нец, есть толь­ко одно число, где между еди­ни­ца­ми за­пи­са­но 14 нулей.

Итак, при ис­поль­зо­ва­нии двух еди­ниц по­лу­ча­ем  дробь: чис­ли­тель: 8 плюс 1, зна­ме­на­тель: 2 конец дроби умно­жить на 8=36 чисел. (Чи­та­тель, зна­ко­мый с ком­би­на­то­ри­кой, мог бы пред­по­честь пря­мо­му под­сче­ту ис­поль­зо­ва­ние фор­му­лы для со­че­та­ний с по­вто­ре­ни­я­ми C в сте­пе­ни n _n плюс k минус 1  — ко­ли­че­ство спо­со­бов рас­пре­де­лить n оди­на­ко­вых пред­ме­тов между k ящи­ка­ми. В нашем слу­чае нужно рас­пре­де­лить семь нулей между тремя ме­ста­ми ... 1 ... 00000001 ... . По­лу­ча­ем C в сте­пе­ни 7 _7 плюс 3 минус 1=C в сте­пе­ни 7 _9= дробь: чис­ли­тель: 9!, зна­ме­на­тель: 7! умно­жить на 2! конец дроби =36. )

Всего можно по­лу­чить 1 плюс 16 плюс 36=53 числа. Те­перь от­ве­тим на во­про­сы за­да­ния: а) да, можно за­пи­сать 30 чисел; в) можно за­пи­сать 53 раз­лич­ных числа.

Оста­лось рас­смот­реть во­прос б). Без ис­поль­зо­ва­ния еди­ниц можно за­пи­сать толь­ко одно число. С ис­поль­зо­ва­ни­ем одной еди­ни­цы  — 16 минус 5=11 чисел. С ис­поль­зо­ва­ни­ем двух еди­ниц, ана­ло­гич­но преды­ду­ще­му, пря­мым под­сче­том на­хо­дим 6 воз­мож­но­стей (или: рас­пре­де­ля­ем два нуля между тремя ме­ста­ми ... 1 ... 0000000100000 ... , по­лу­ча­ем C в квад­ра­те _2 плюс 3 минус 1=C в квад­ра­те _4 = дробь: чис­ли­тель: 4!, зна­ме­на­тель: 2! умно­жить на 2! конец дроби =6 чисел. Всего можно по­лу­чить 1 плюс 11 плюс 6=18 чисел. Таким об­ра­зом, ответ на пункт б) таков: нет, нель­зя за­пи­сать 30 чисел.

 

Ответ: а) да; б) нет; в) 53.

 

При­ведём дру­гое ре­ше­ние.

а)  Да. На­зо­вем на­ча­лом числа пер­вые 5 раз­ря­дов, а кон­цом  — по­след­ние 4. Есть 20 чисел, в ко­то­рых одна еди­ни­ца стоит в на­ча­ле и одна в конце (они раз­де­ле­ны ми­ни­мум семью раз­ря­да­ми) и 16 чисел, в ко­то­рых всего одна еди­ни­ца, это уже 36 чисел.

б)  Нет. Име­ет­ся всего 11 раз­ря­дов для за­пи­си. По­сколь­ку в пер­вых пяти и по­след­них 6 раз­ря­дах может быть не более одной еди­ни­цы, всего их не более двух. Раз­бе­рем слу­чаи:

− если в числе нет еди­ниц, то такое число одно;

− если одна еди­ни­ца, то таких чисел 11;

− если две еди­ни­цы, то таких чисел 6: три числа, где еди­ни­ца на пер­вом месте, а дру­гая  — с 9 по 11 место, два числа, где еди­ни­ца на вто­ром месте и одно число, где еди­ни­ца на тре­тьем месте.

Зна­чит, всего этих чисел 1 + 11 + 6  =  18 < 30.

в)  Раз­би­вая число на груп­пы по 8 цифр, по­лу­ча­ем, что в каж­дой груп­пе не более одной еди­ни­цы, по­это­му всего их не более двух. Снова раз­бе­рем слу­чаи:

− если в числе нет еди­ниц, то такое число одно;

− если одна еди­ни­ца, то таких чисел 16;

− если две еди­ни­цы, то таких чисел 28: 8, где еди­ни­ца на пер­вом месте, а дру­гая  — с 9 по 16 место; ещё 7, где еди­ни­ца на вто­ром месте; ещё 6, в ко­то­рых еди­ни­ца на тре­тьем месте, и т. д.: 8 + 7 + 6 + ... + 1= 36.

Зна­чит, всего этих чисел 1 + 16 + 36  =  53.

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Верно по­лу­че­ны все пе­ре­чис­лен­ные (см. кри­те­рий на 1 балл) ре­зуль­та­ты4
Верно по­лу­че­ны три из пе­ре­чис­лен­ных (см. кри­те­рий на 1 балл) ре­зуль­та­тов3
Верно по­лу­че­ны два из пе­ре­чис­лен­ных (см. кри­те­рий на 1 балл) ре­зуль­та­тов2
Верно по­лу­чен один из сле­ду­ю­щий ре­зуль­та­тов:

— обос­но­ван­ное ре­ше­ние пунк­та а;

— обос­но­ван­ное ре­ше­ние пунк­та б;

— оцен­ка в пунк­те в;

— при­мер в пунк­те в, обес­пе­чи­ва­ю­щий точ­ность най­ден­ной оцен­ки

1
Ре­ше­ние не со­от­вет­ству­ет ни од­но­му из кри­те­ри­ев, пе­ре­чис­лен­ных выше0
Мак­си­маль­ный балл4
Источник: А. Ларин. Тре­ни­ро­воч­ный ва­ри­ант № 286