Все 5-буквенные слова, составленные из букв Б,Л,Ю,Д,О, записаны в алфавитном порядке. Вот начало списка:
1. БББББ
2. ББББД
3. ББББЛ
4. ББББО
5. ББББЮ
6. БББДБ
…..
Под каким номером в списке идёт первое слово, в котором нет буквы Б?
Решение руками:
Присвоим буквам номера: Б — 0, Д — 1, Л — 2, О — 3, Ю — 4. Тогда первое 5-буквенное слово, в котором нет буквы Б — ДДДДД или же .
Переведём число в десятичную.
.
Поскольку номер в списке на единицу больше самого числа, то остается прибавить к числу 781 единицу. Получаем 782.
Решение Python:
from itertools import *
coun=0
num=0
for x in product(’БДЛОЮ’, repeat = 5):
s=’’.join(x)
coun+=1
if s.count(’Б’)==0:
num=coun
print(num)
break
Решение Python:
alf = ’БДЛОЮ’
c = 0
for i in alf:
for j in alf:
for k in alf:
for l in alf:
for m in alf:
s = i + j + k + l + m
c += 1
if s.count(’Б’) == 0:
print(c)
Ответ: 782