Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
Сколько существует восьмеричных пятизначных чисел, не содержащих в своей записи цифру 1, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?
Правильный ответ:
180
from itertools import permutations
# Алфавит из условия, сразу исключаем 1
alph = '0234567'
# Проверяем, что две чётные не стоят рядом => четные с нечётными чередуются
def is_even_pair(digits):
for i in range(len(digits) - 1):
current_is_even = int(digits[i]) % 2 == 0
next_is_even = int(digits[i + 1]) % 2 == 0
if current_is_even == next_is_even:
return False
return True
count = 0
for val in permutations(alph, 5):
val = "".join(val)
if val[0] != '0' and is_even_pair(val):
count += 1
print(count)
