Сколько существует \(16\)-ричных четырёхзначных чисел, в записи которых ровно одна цифра \(D,\) при этом ни одна нечётная цифра не стоит рядом с цифрой \(D?\)
Решение:
Ручное решение Имеем \(4\) случая. Первый: \(D\) стоит на первом месте, тогда на втором может стоять только чётная цифра (их всего \(8),\) на третьем и четвёртом месте могут стоять любые цифры кроме \(D.\) Всего получаем \(8 \cdot 15 \cdot 15\) чисел.
Второй случай: \(D\) на втором месте. На первом тогда только чётная кроме нуля (всего \(7),\) на третьем только чётные (всего \(8),\) на четвёртом — любая цифра кроме \(D.\) Итого \(7 \cdot 8 \cdot 15.\)
\(D\) на третьем месте. На первом — любая кроме \(0\) и \(D.\) Всего — 14. На втором и четвёртом — только чётные. Всего по \(8.\) Итого \(14 \cdot 8 \cdot 8.\)
\(D\) на четвёртом месте. На первом тогда любая кроме \(0\) и \(D.\) Всего — \(14.\) На втором — любая кроме \(D.\) Всего \(15.\) На третьем только чётная. Всего \(8.\) Итого \(14 \cdot 15 \cdot 8.\)
Собираем всё вместе: $$8 \cdot 15 \cdot 15 + 7 \cdot 8 \cdot 15 + 14 \cdot 8 \cdot 8 + 14 \cdot 15 \cdot 8 = 5216$$
Python
from itertools import product
alph = '0123456789ABCDEF'
odd = '13579BF'
deny = [x + 'D' for x in odd]
deny += ['D' + x for x in odd]
q = 0
for pr in product(alph, repeat=4):
num = ''.join(pr)
q += (num[0] != '0' and num.count('D') == 1
and all(n not in num for n in deny))
print(q)
Ответ: \(5216\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене