Сколько натуральных чисел меньших 32768 существует, чья запись в двоичной системе счисления содержит нечетное количество единиц и является симметричным числом?

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Чтобы найти количество таких чисел, необходимо проанализировать структуру двоичной записи симметричных чисел (палиндромов) в заданном диапазоне. 1. Определение диапазона Число 3276832768 — это 2152 to the 15th power. Следовательно, нас интересуют натуральные числа, имеющие в двоичной записи от 1 до 15 бит. 2. Свойства двоичных палиндромов Двоичное число является палиндромом, если его первая и последняя цифры совпадают. Поскольку натуральное число не может начинаться с нуля, первая и последняя цифры всегда равны 1. Для палиндрома длиной nn бит:

  • Первый и последний биты фиксированы (единицы).
  • Внутренняя часть определяется первыми n/2the ceiling of n / 2 end-ceiling битами. На самом деле, свободными для выбора являются только (n1)/2the floor of open paren n minus 1 close paren / 2 end-floor бит, так как вторая половина числа зеркально отображает первую.

3. Анализ по количеству бит ( nn) Для каждого количества бит nn мы ищем количество комбинаций, дающих нечетное число единиц.

Длина nn Свободные биты (в центре)Всего палиндромовПалиндромов с нечетным кол-вом «1»
1Нет1 (1)1
2Нет1 (11)0 (две «1»)
31 бит в центре2 (101, 111)1 (101)
41 бит (дублируется)2 (1001, 1111)0 (четное: 2 или 4)
52 бита42
62 бита40 (четное)
73 бита84
83 бита80
94 бита168
104 бита160
115 бит3216
125 бит320
136 бит6432
146 бит640
157 бит12864

4. Математическое обоснование

  1. Четное nn: Если длина числа четная (например, n=6n equals 6), то любая единица в левой половине имеет пару в правой половине. Общее количество единиц всегда будет четным ( 2,4,62 comma 4 comma 6 …). Следовательно, среди палиндромов четной длины искомых чисел нет (0). Нечетное nn: Если длина нечетная (например, n=7n equals 7), то центральный бит не имеет пары. Единицы во всех позициях, кроме центральной, входят в сумму парами (дают четное число). Общее количество единиц будет нечетным тогда и только тогда, когда центральный бит равен 1.
    • Количество бит, которые можно выбирать свободно в палиндроме нечетной длины nn, равно k=(n1)/2k equals open paren n minus 1 close paren / 2. Половина из этих комбинаций будет иметь центральный бит, равный «1». Следовательно, количество подходящих чисел равно 2k12 raised to the k minus 1 power, где k=(n+1)/21k equals open paren n plus 1 close paren / 2 minus 1. Упрощенно: 2(n1)/21×2=2(n1)/22 raised to the open paren n minus 1 close paren / 2 minus 1 power cross 2 equals 2 raised to the open paren n minus 1 close paren / 2 power? Нет, проще: при фиксированном центральном бите (1) у нас остается n32the fraction with numerator n minus 3 and denominator 2 end-fraction свободных позиций, но так как нас интересует просто наличие центрального бита, количество подходящих чисел для нечетного nn равно точно половине от всех возможных палиндромов этой длины, то есть 2(n1)/22 raised to the open paren n minus 1 close paren / 2 power.

5. Итоговый расчет Суммируем результаты для нечетных nn от 1 до 15:

  • n=120=1n equals 1 colon 2 to the 0 power equals 1 n=321=2/2=1n equals 3 colon 2 to the first power equals 2 / 2 equals 1 (это число 101) n=522=2n equals 5 colon 2 squared equals 2 n=723=4n equals 7 colon 2 cubed equals 4 n=924=8n equals 9 colon 2 to the fourth power equals 8 n=1125=16n equals 11 colon 2 to the fifth power equals 16 n=1326=32n equals 13 colon 2 to the sixth power equals 32 n=1527=64n equals 15 colon 2 to the seventh power equals 64

Сумма: 1+1+2+4+8+16+32+64=1281 plus 1 plus 2 plus 4 plus 8 plus 16 plus 32 plus 64 equals 128 Всего существует 128 таких чисел. Хотите, чтобы я составил программный скрипт на Python для проверки этого результата методом перебора?

Форма ответа

Ваш аватар