Форум » Кодирование и декодирование информации » Задача 8.5709 » Ответить

Задача 8.5709

ivackov.sergey: Авторское решение задачи не совсем корректное, т.к. результаты противоречат условию задачи "все буквы различны" [pre2] # Автор: Л. Малинов from itertools import permutations k = 0 for x in set(permutations('ЭФФЕКТ', r=5)): s = ''.join(x) consonant = [i for i in s if i in 'ФКТ' ] vowels = [i for i in s if i in 'ЭЕ'] if consonant == sorted(consonant, reverse=True) and \ vowels == sorted(vowels): k += 1 print(s) print(k) [/pre2] *** ФЕЭФТ ФФЕТЭ ЕФФЭТ ЕФТЭК ФФКЕЭ ФЕЭФК ЕФФЭК ЕФТКЭ ЕФФКЭ ФЕЭТК ФФТЕЭ ФТЕЭК ЕФЭФТ ЕФЭФК ФЕФТЭ ЕФФТК ФФЭТК ФФЕТК ФФТКЕ ФФЕЭТ ЭФФТК ФЭФТК ФФЕЭК ЕФЭТК ФФТКЭ ФФТЕК ФФЕКЭ ФЕТЭК ФЕТКЭ ФЕФЭТ ФЕФТК ЕЭФФТ ФЕФЭК ФФТЭК ФЕФКЭ ЕЭФФК ЕЭФТК ФТЕКЭ ФТКЕЭ ЕФФТЭ 40 Вот мой код: [pre2] //Ипатов Ю.А. ## uses school; function s1(x:string):=(x.IndexOf('Е')<x.IndexOf('Э')) ? true : false; function s2(x:string):=((x.IndexOf('Ф')<x.IndexOf('Т')) and (x.IndexOf('Т')<x.IndexOf('К'))) ? true : false; 'ЭФФЕКТ'.Permutations(5).Where(x->s1(x) and s2(x) and (x.CountOf('Ф')=1)).Distinct.Count.print; [/pre2] Результат: 10

Ответов - 2

ivackov.sergey: Спасибо за исправление!

Поляков: Вы правы, спасибо. Исправлено.



полная версия страницы