Задание №8 — Комбинаторика
#69476Задание №8ФИПИ
Количество информации
Сколько существует различных четырёхзначных чисел, записанных в десятичной системе счисления, в записи которых есть ровно две одинаковые цифры, причём стоящие рядом?
Правильный ответ
1944
Пояснение
Решение:
Условие означает: среди четырёх цифр числа есть пара одинаковых, стоящих рядом, а две оставшиеся цифры отличаются и друг от друга, и от цифры этой пары (иначе одинаковых цифр было бы больше двух). Пара может занимать позиции 1–2, 2–3 или 3–4.
- Позиции 1–2. Повторяющаяся цифра стоит первой, поэтому — 9 вариантов. На 3-ю и 4-ю позиции ставим две различные цифры, отличные от : варианта. Итого .
- Позиции 2–3. Если , то первая цифра — любая из 9 ненулевых, последняя — любая из 8 оставшихся: . Если (9 вариантов), первая цифра ненулевая и не равна — 8 вариантов, последняя не равна ни , ни первой — тоже 8: . Итого .
- Позиции 3–4. Рассуждение полностью симметрично предыдущему: тоже 648.
Всего .
from collections import Counter
count = 0
for n in range(1000, 10000):
s = str(n)
c = Counter(s)
if sorted(c.values()) != [1, 1, 2]:
continue
d = [k for k in c if c[k] == 2][0]
if any(s[i] == s[i + 1] == d for i in range(3)):
count += 1
print(count)
Ответ: 1944