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

Задание 8 №109

Мария_987: Здравствуйте, текст задачи: Петя составляет 7-буквенные слова из букв А, Б, Р, И, К, О, С. Каждую букву нужно использовать ровно 1 раз, при этом нельзя ставить подряд две гласные или две согласные. Сколько различных кодов может составить Петя? Не могу понять, как найти кол-во неподходящих слов. Нашла количество слов, в которых есть буквы АИ/ИА: 12*5! Но при этом, они пересекаются с множеством, где есть буквы ИО/АО, и далее я совсем запуталась, какое множество с каким пересекается и какое количество слов нужно вычесть. Может кто-нибудь объяснить алгоритм решения? Среди задач, для которых есть пояснения, нет подобных

Ответов - 4

polyakovss: Здравствуйте, Мария_987! Г - 3 (А, И, О) С - 4 (Б, Р, К, С) Условию задачи удовлетворяет единственный вариант: С Г С Г С Г С 4 3 3 2 2 1 1 4*3*3*2*2*1*1 = 144 Ответ: 144.

wghhp: polyakovss пишет: здравствуте! а почему нельзя такой вариант: Г С Г С Г С Г?

Marия: from itertools import* c=0 for i in product('АБРИКОС',repeat=7): a=''.join(i) if ((a.count('А')==1 and a.count('Б')==1 and a.count('Р')==1 and a.count('И')==1 and a.count('К')==1 and a.count('О')==1 and a.count('С')== 1) and (('АА' not in a) and ('АИ' not in a) and ('ИА'not in a) and ('ИИ'not in a) and ('ИО'not in a) and ('ОИ' not in a) and ('ОО'not in a) and ('ОА' not in a) and('АО'not in a)) and (('ББ' not in a) and ('БР'not in a) and ('РБ' not in a) and ('РР'not in a) and ('БК' not in a) and ('КБ' not in a) and ('КК' not in a) and ('КР' not in a) and ('РК' not in a) and ('СС' not in a) and ('БС' not in a) and ('СБ' not in a) and ('СР' not in a) and ('РС' not in a) and ('КС' not in a) and ('СК'not in a))): c+=1 print(c,a) #Ответ:144


Ж: [pre2] from itertools import * k=0; al='АБРИКОС' for c in permutations(al, 7): s=''.join(c) for b in 'АИО' : s=s.replace(b,'А') for b in 'БРКС' : s=s.replace(b,'Б') k+=('АА' not in s and 'ББ' not in s) print('ответ: ',k) [/pre2]



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