Задача № 91. Сколько существует восьмеричных пятизначных чисел, не содержащих в своей записи цифру 1
Сколько существует восьмеричных пятизначных чисел, не содержащих в своей записи цифру 1, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?
Демонстрационный вариант 2024 года
Прокрути, чтобы прочитать решение задачи
Ты уверен, что хочешь это сделать?
Удачного чтения!
Решение
Для решения задачи рассмотрим все перестановки чётных и нечётных цифр в восьмеричной системе счисления. У нас четыре чётные (0, 2, 4, 6) и три нечётные (3, 5, 7) цифры. Число не может начинаться с нуля, ноль рассмотрим отдельно. Разницы между остальными цифрами нет. Напишем код.
# подключим стандартную библиотеку
from itertools import permutations
# в переменную count сохраним количество чисел
count = 0
# рассмотрим все перестановки чётных и нечётных чисел длины пять
for sequence in permutations('0ЧЧЧННН', r=5):
# если перестановка начинается с нуля, пропустим её
if sequence[0] == '0': continue
# собираем число и заменяем ноль на Ч
# далее разницы между нулём и другими чётными цифрами нет
number = ''.join(sequence).replace('0', 'Ч')
# если никакие две чётные или две нечётные цифры не стоят рядом
# увеличиваем счётчик на один
if 'НН' not in number and 'ЧЧ' not in number:
count += 1
# выводим ответ
print(count)