Задание №8 — Комбинаторика
#69254Задание №8ФИПИ
Количество информации
Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, в записи которых только одна цифра 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6.
Правильный ответ
2961
Пояснение
Решение:
Пятизначное восьмеричное число имеет вид , где старшая цифра (нулём число начинаться не может), а остальные цифры — любые из .
Цифра 6 встречается ровно один раз, значит во всех остальных позициях шестёрки нет — там доступно по 7 цифр. Соседи шестёрки обязаны быть чётными; чётные восьмеричные цифры — это 0, 2, 4 и 6, но 6 запрещена условием, поэтому у соседа 3 варианта: 0, 2 или 4. Если соседом оказывается старший разряд, ноль тоже не подходит, и остаётся 2 варианта.
Разберём случаи по позиции шестёрки.
- 6 на 1-м месте: сосед — 3 варианта; — любые, кроме 6, по 7 вариантов. Итого .
- 6 на 2-м месте: — 2 варианта; — 3; — по 7. Итого .
- 6 на 3-м месте: — любая, кроме 0 и 6, то есть 6 вариантов; и — по 3; — 7. Итого .
- 6 на 4-м месте: — 6 вариантов; — 7; и — по 3. Итого .
- 6 на 5-м месте: — 6 вариантов; — по 7; — 3. Итого .
Складываем: .
from itertools import product
count = 0
for d in product('01234567', repeat=5):
if d[0] == '0' or d.count('6') != 1:
continue
i = d.index('6')
ok = True
for j in (i - 1, i + 1):
if 0 <= j < 5 and int(d[j]) % 2 == 1:
ok = False
if ok:
count += 1
print(count) # 2961
Ответ: 2961