Андрей составляет 7-буквенные коды из букв А, Н, Д, Р, Е, Й. Буквы А и Й должны встречаться в коде ровно по одному разу, при этом буква Й не может стоять на первом месте. Остальные допустимые буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить?
Решение через циклы
s = ’АНДРЕЙ’
s1 = ’АНДРЕ’
cnt = 0
for i in s1:
for j in s:
for k in s:
for l in s:
for m in s:
for n in s:
for o in s:
st = i + j + k + l + m + n + o
if st.count(’А’) == 1 and st.count(’Й’) == 1:
cnt += 1
print(cnt)
Решение через itertools
from itertools import product
count = set()
for x in product(’АНДРЕЙ’,repeat = 7):
s = ’’.join(x)
if s[0] != ’Й’ and s.count(’Й’) == 1 and s.count(’А’) == 1:
count.add(s)
print(len(count))