АЛЕКСЕЙ из букв своего имени составил алфавит для генерации шестибуквенных слов. Буквы в слова могут входить любое количество раз, либо не входить совсем. Все слова записали в алфавитном порядке и пронумеровали с 1. На каком месте будет стоять слово КСЕЛЕА ?
Решение руками
Запишем буквы в алфавитном порядке: А, Е, К, Л, С, Й и пронумеруем от 0 до 5.
А — 0, Е — 1, Й — 2, К — 3, Л — 4, С — 5.
Тогда слово КСЕЛЕА имеет вид . То есть слово КСЕЛЕА стоит на
месте.
Решение через циклы
a = ’’.join(sorted(set(’АЛЕКСЕЙ’))) # получаем алфавитный порядок букв слова АЛЕКСЕЙ
count = 0
for x1 in a:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a:
for x6 in a:
s = x1+x2+x3+x4+x5+x6
count += 1
if s == ’КСЕЛЕА’:
print(count)
break
Решение через itertools
from itertools import product
count = 0
a = ’’.join(sorted(set(’АЛЕКСЕЙ’))) # получаем алфавитный порядок букв слова АЛЕКСЕЙ
for x in product(a,repeat = 6):
s = ’’.join(x)
count += 1
if s == ’КСЕЛЕА’:
print(count)
break