ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Задача 98442
Темы:    [ Двоичная система счисления ]
[ Классическая комбинаторика (прочее) ]
Сложность: 4+
Классы: 8,9,10
В корзину
Прислать комментарий

Условие

Для каждого целого неотрицательного числа i определим число M(i) следующим образом: запишем число i в двоичной форме; если число единиц в этой записи чётно, то M(i) = 0, а если нечётно – то 1 (первые члены этой последовательности: 0, 1, 1, 0, 1, 0, 0, 1, ... ).
  а) Рассмотрим конечную последовательность  M(0), M(1), ... , M(1000).  Докажите, что число членов этой последовательности, равных своему правому соседу, не меньше 320.
  б) Рассмотрим конечную последовательность  M(0), M(1), ..., M(1000000).  Докажите, что число таких членов последовательности, что  M(i) = M(i + 7),  не меньше 450000.


Решение

  а) Все двоичные числа, оканчивающиеся на 01, удовлетворяют условию  M(i) = M(i + 1).  Среди четырёх последовательных чисел ровно одно оканчивается на 01, поэтому таких чисел 250. Кроме этого, нам подходят числа, оканчивающиеся на 0111 (их не меньше чем  248 : 4 = 62)  и оканчивающиеся на 011111 (их не меньше чем  60 : 4 = 15).  Всего  250 + 62 + 15 = 325 > 320.

 б) Легко проверить, что условию  M(i) = M(i + 7), удовлетворяют двоичные числа, оканчивающиеся на 0001, 0011, 0100, 0101 и 0111. Так как
i ≤ 999993,  то таких чисел не меньше чем  5·[999994 : 16] = 312495.  Кроме того, нас устраивают числа, оканчивающиеся на 01010 и 01110 (их не менее
2·[999994 : 32] = 62498)  и оканчивающиеся на 011001, 011011, 011100, 011101 и 011111 (их не менее  5·[999994 : 64] = 78120).  Всего
312495 + 62498 + 78120 = 453113 > 450000.

Замечания

  Можно найти и точное количество указанных членов последовательности.
  а) Нетрудно проверить, что искомые числа – это в точности те, двоичная запись которых оканчивается на нечётное число нулей. То есть это числа, в разложение которых двойка входит в нечётной степени. Найдём их количество.
  Чётных чисел, не превосходящих n, ровно  [n/2].  Из них надо вычесть количество  [n/4]  чисел, кратных 4. Но при этом мы вычли и числа, кратные 8. Чтобы их учесть добавим  [n/8].  Теперь, нужно вычесть  [n/16] (количество чисел, кратных 16); и т. д. Итак,   Kn = [n/2] – [n/4] + [n/8] – [n/16] + ...
  В частности,  K1000 = 500 – 250 + 125 – 62 + 31 – 15 + 7 – 3 + 1 = 334.
  б) Число  k = 106  не удовлетворяет условию (двоичная запись 106 кончается на 6 нулей, а двоичная запись числа 1000007 получается из нее заменой трёх последних нулей на единицы). Далее везде считаем  k < 106.
  Пусть  M(k) = M(k + 7).  Возможны два случая.
  1)  M(k) = M(k + 8),  M(k + 7) = M(k + 8).
  По каждому числу  k ≥ 8  построим число  k = [k/8];  двоичная запись  k  получается из двоичной записи k отбрасыванием трёх последних цифр. Равенство
M(k) = M(k + 8)  эквивалентно равенству  M(k) = M(k + 1).  Это согласно п. а) означает, что двоичная запись числа  k + 1 = k + 8  оканчивается нечётным числом нулей. Количество таких чисел равно  K125000 = 41667  (что нетрудно вычислить по вышеприведенной формуле).
  Чтобы одновременно выполнялось равенство  M(k + 7) = M(k + 8),  двоичная запись числа  k + 8  должна оканчиваться на нечётное число нулей. Это может быть только один нуль (три нуля состыкуются с нечётным числом нулей на конце  k + 8  и дадут уже чётное число нулей). Итак, к каждой из K125000 хороших записей  k + 8  можно приписать 010 или 110, что дает 2K125000 чисел.
  2)  M(k) ≠ M(k + 8),  M(k + 7) ≠ M(k + 8).
  Первое неравенство можно записать в виде  M(k) ≠ M(k + 1).  Это означает, что двоичная запись числа  k + 1 = k + 8  оканчивается чётным числом нулей. Количество таких чисел равно  125000 – K125000.
  Неравенство  M(k + 7) ≠ M(k + 8)  означает, что двоичная запись числа  k + 8  должна оканчиваться на чётное число нулей.
  Это могут быть два нуля (то есть три последние цифры 100) или ни одного (последние три цифры **1). Всего 5 вариантов. Итак, в этом случае имеем
5(125000 – K125000)  чисел.
 С учетом первого случая получаем  725000 – 3K125000 = 499999  чисел, удовлетворяющих условию.

2. Баллы: 2 + 5.

Источники и прецеденты использования

олимпиада
Название Турнир городов
Турнир
Дата 1998/1999
Номер 20
вариант
Вариант весенний тур, основной вариант, 10-11 класс
Задача
Номер 5

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .