Задание 8. Информатика. ЕГЭ. Поляков-7443

Просмотры: 234
Изменено: 24 ноября 2024

(И. Карпачев) Сколько существует чисел, восьмеричная запись которых обладает следующими свойствами:

  • состоит из 6 цифр;
  • содержит ровно две цифры \(3\), причем не стоящие рядом;
  • между этими двумя тройками находятся только цифры, числовое значение которых больше, чем \(3\).

Решение:

Python


from itertools import product

def valid(s):
    if s.count('3') != 2:
        return False
    elif '33' in s:
        return False
    else:
        st, fin = (i for i in range(len(s)) if s[i] == '3')
        t = s[st + 1: fin]
        if any(ch in t for ch in '012'):
            return False
        return True

alph = '01234567'
q = 0
for p in product(alph, repeat=6):
    if p[0] == '0':
        continue
    q += int(valid(''.join(p)))
print(q)

Ответ: \(8116\)