Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 5, 2023 12:59:32

Mariya251
Зарегистрирован: 2023-04-05
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите решить задачку пожалуйста

Оля составляет 5-буквенные слова из букв К, У, С, А, Т, Ь, причём слова
не должны начинаться на мягкий знак и содержать сочетание СУК.
Буквы в слове не должны повторяться. Сколько различных слов может
составить Оля?

Офлайн

#2 Апрель 6, 2023 13:48:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9863
Репутация: +  853  -
Профиль   Отправить e-mail  

помогите решить задачку пожалуйста

Mariya251
Оля составляет 5-буквенные слова из букв К, У, С, А, Т, Ь,
Это называется размещения из шести по пять.
wiki. размещение

Нужно просто составить все размещения и отфильтровать из них только те, которые подходят по критериям.
Критерии задаются в предикате, который применяется для фильтрации.

  
>>> import itertools
>>> 
>>> def q(value):
...     if value[0] == 'Ь':
...         return False
...     if 'СУК' in ''.join(value):
...         return False
...     return True
... 
>>> perm6po5_all = itertools.permutations('КУСАТЬ', 5)
>>> perm6po5_filt = filter(q, perm6po5_all)
>>> out = len(tuple(perm6po5_filt))
>>> out
586
>>>



Отредактировано py.user.next (Апрель 6, 2023 13:49:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version