Все 5-буквенные слова, составленные из букв К,О,Р,Т, записаны в алфавитном порядке. Вот начало списка:
1. ККККК
2. ККККО
3. ККККР
4. ККККТ
5. КККОК
…..
Под каким номером в списке идёт последнее слово, в котором буквы О и Р встречаются по одному разу?
Решение руками:
Заменим буквы на цифры: К — 0, О — 1, Р — 2, Т — 3. Последнее слово, которое содержит по одной из букв О и Р будет ТТТРО или же под номером 33321.
Так как мы использовали четырехбуквенный алфавит, то нужно перевести число 33321 из четверичной системы счисления в десятичную. . Поскольку номер в списке на единицу больше самого числа, то остается прибавить к числу 1017 единицу. Получаем 1018.
Решение Python:
from itertools import *
coun=0
num=0
for x in product(’КОРТ’, repeat = 5):
s=’’.join(x)
coun+=1
if s.count(’Р’)==1 and s.count(’О’)==1:
num=coun
print(num)
Решение 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(’О’) == 1 and s.count(’Р’) == 1:
print(c)