# Василий составляет 4-буквенные коды из букв А, Р, С, Е, Н, И, Й.
Каждую букву можно использовать любое количество раз, при этом код
не может начинаться с буквы Й и должен содержать хотя бы одну гласную.
Сколько различных кодов может составить Василий?
from itertools import product
g = set('АЕИ')
cnt = 0
for ps in product('АРСЕНИЙ', repeat=4):
word = ''.join(ps)
mw = set(word)
if word[0] != 'Й' and len(mw & g) > 0:
print(word)
cnt += 1
print(cnt)
Счёт в 8-ой системе счисления через oct():
# (№ 5919) (Е. Джобс) Известно, что значение выражения 36x538 – 4y38 является
положительным и минимальным. Известно, что x и y – допустимые комбинации из одной или нескольких цифр
восьмеричной системы счисления. Определите значение выражения. В качестве ответа
запишите полученное число в десятичной системе счисления. Основание системы счисления указывать не нужно
minr = 999999999999999999
for x in range(1000):
for y in range(1000):
x8 = oct(x)[2:]
y8 = oct(y)[2:]
r = int(f'36{x8}53', 8) - int(f'4{y8}3', 8)
if r > 0 and minr > r:
minr = r
print(minr)
Счёт в 8-ой системе счисления через product():
# (№ 5919) (Е. Джобс) Известно, что значение выражения 36x538 – 4y38 является
положительным и минимальным. Известно, что x и y – допустимые комбинации из одной или нескольких цифр
восьмеричной системы счисления. Определите значение выражения. В качестве ответа
запишите полученное число в десятичной системе счисления. Основание системы счисления указывать не нужно
from itertools import product
minr = 999999999999999999
for xc in product('01234567', repeat=3):
x = str(int(''.join(xc)))
for yc in product('01234567', repeat=3):
y = str(int(''.join(yc)))
r = int(f'36{x}53', 8) - int(f'4{y}3', 8)
if r > 0 and minr > r:
minr = r
print(minr)