Автор | Сообщение |
|
Отправлено: 05.11.21 10:03. Заголовок: Задание 8 №223
Аня составляет слова, переставляя буквы в слове ОДЕКОЛОН, избегая слов, где соседние буквы — одинаковые. Сколько различных слов, включая исходное, может составить Аня? Мое решение: Всего вариантов перестановок 8!/3!=6720 вариантов (дели на 3! так как есть повторяющиеся буквы) Если встречается комбинация ОО, то оставшиеся 6 мест могут занять 5 (тк исключаем еще одну О), 5, 4, 3, 2, 1 буквы, значит вариантов 600. Такх комбинаций может быть 7 штук 7*600=4200 вариантов Если комбинация ООО, то 5*4*3*2*1=120 вариантов, таких ситуаций 6, значит 120*6=720 Итого 6720-4200-720=1800 А ответ 2400
|
|
|
Ответов - 3
[только новые]
|
|
|
| Администратор
|
Сообщение: 3000
|
|
Отправлено: 05.11.21 10:28. Заголовок: marybes пишет: Если ..
marybes пишет: цитата: | Если встречается комбинация ОО, то оставшиеся 6 мест могут занять 5 (тк исключаем еще одну О), 5, 4, 3, 2, 1 буквы |
|
Не очень понятна логика. Это перестановки, нельзя исключать букву.
|
|
|
|
Отправлено: 05.11.21 15:04. Заголовок: Тогда 6*5*4*3*2*1=72..
Тогда 6*5*4*3*2*1=720 720*7=5040 Итого 6720-5040-720=960 А ответ 2400, как будто надо прибавить 720, а не вычитать
|
|
|
|
| Администратор
|
Сообщение: 3004
|
|
Отправлено: 06.11.21 20:03. Заголовок: У вас есть два случа..
У вас есть два случая: 1) ОО стоит в начале или в конце; в этом случае третья О не может стоять рядм с ними 2) ОО стоят не в начале и не в конце; в этом случае третья О на может стоять слева и справа от них. Вы эти случаи не разделяете. from itertools import permutations words = set([''.join(w) for w in permutations("ОДЕКОЛОН")]) words = [w for w in words if "ОО" not in w] print( len(words) )
|
|
|
|