Все восьмибуквенные слова, в составе которых могут быть только русские буквы А, Б, Ж, К, П, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. АААААААА
2. АААААААБ
3. АААААААЖ
4. АААААААК
5. АААААААП
6. ААААААБА
…
Сколько слов находится между первым и последним словами, начинающимися на БЖ и заканчивающимися на КП?
Решение руками
Пронумеруем буквы: A – 0, Б – 1, Ж – 2, К – 3, П – 4.
Тогда первое слово будет БЖААААКП или .
Последнее слово будет БЖППППКП или
Получаем количество слов (исключая первое и последнее):
Решение Python:
a = ’АБЖКП’
c = 0
arr = []
for i in a:
for j in a:
for n in a:
for k in a:
for m in a:
for p in a:
for q in a:
for w in a:
s = i + j + n + k + m + p + q + w
c += 1
if s[0:2] == ’БЖ’ and s[-2] == ’К’ and s[-1] == ’П’:
# print(c, s)
arr.append(c)
print(max(arr) - min(arr)-1)
Решение Python:
from itertools import *
c, res1, res2 = 0, 0, 0
res = []
for i in product(’АБЖКП’, repeat = 8):
s = ’’.join(i)
c += 1
if (s[0:2] == ’БЖ’) and (s[-2:] == ’КП’):
res.append(c)
print(max(res) - min(res) - 1)