(О. Лысенков) Робот перебирает в порядке возрастания числа, тринадцатеричная запись которых состоит из трёх цифр. Ниже приведено начало списка.
Определите количество слов в списке, в которых никакие две нечётные цифры не стоят рядом, а номер числа оканчивается на \(7.\)
Решение:
Python
from itertools import product
def conv(n):
alph = '0123456789ABC'
ans = ''
while n:
ans = alph[n % 13] + ans
n //= 13
return ans
deny = list(product('13579B', repeat=2))
q = 0
for i, n in enumerate(range(13**2, 13**3)):
q += i % 10 == 7 and all(''.join(d) not in conv(n) for d in deny)
print(q)
Ответ: \(110\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене