(аа будет одним из многих, бб не будет)
Я думал, что это будет 10! / 8! Но, видимо, я делаю что-то не так. Кто-нибудь может мне помочь, потому что я в тупике.
self-study
combinatorics
Энтони
источник
источник
[self-study]
тег и прочитайте его вики .Ответы:
У вас есть 6 разных букв: a, b, c, d, e, f, из которых вы можете сгенерировать 6 x 5 = 30 слов с двумя разными буквами. Кроме того, вы можете сгенерировать 3 слова aa, cc, dd с одной и той же буквой дважды. Таким образом, общее количество слов составляет 30 + 3 = 33.
источник
Альтернатива методу Захавы: существует способов соединения двух букв af. Тем не менее, нет 2 b, e или f символов, поэтому «bb», «ee» и «ff» невозможны, что делает количество слов 36 - 3 = 3362= 36 36 - 3 = 33 .
То, как вы пытались подойти к проблеме, похоже, игнорирует тот факт, что нет 10 разных букв. Если бы у вас было 10 разных букв, то ваш ответ был бы правильным.
источник
Если вы не можете объяснить это «умным» способом, часто стоит попробовать грубую силу. Представьте себе, что вы пытаетесь записать в алфавитном порядке список всех слов, которые вы можете сделать.
Сколько можно начать с «А»? За «A» могут следовать A, B, C, D, E или F, так что это шесть способов.
Сколько можно начать с "B"? За этим могут следовать A, C, D, E или F, что является только пятью способами, поскольку нет второй буквы «B».
Сколько можно начать с "C"? Поскольку «С» появляется в вашем списке три раза, за ним может следовать сама буква или любые другие пять букв, так же как и с «А», существует шесть способов. Обратите внимание, что мы не получаем никаких «дополнительных» способов только потому, что «C» появляется чаще, чем «A»; все, кроме второго появления, является излишним.
Надеемся, что теперь ясно, что каждая буква, которая появляется только один раз в вашем списке, может появляться в начале пяти слов, а буквы, которые появляются дважды или более, могут появляться в начале шести слов. Буквы, которые появляются только один раз, это «B», «E» и «F», каждая из которых может быть в начале пяти слов, так что получается 5 + 5 + 5 = 15 слов. Буквы, которые появляются дважды или более, представляют собой «A», «C» и «D», каждая из которых может быть в начале шести слов, что составляет 6 + 6 + 6 = 18 слов. Всего 15 + 18 = 33 слова.
Это более многословно, чем другие методы, но, пытаясь обдумать ответ таким систематическим способом, вы, возможно, смогли «определить» один из более быстрых методов.
Обратите внимание, что если бы это было сформулировано как вопрос вероятности, ваша первая склонность заключалась в том, чтобы нарисовать древовидную диаграмму . Началось бы с шести ответвлений для первой буквы, но для второй буквы было бы шесть ответвлений от «A», «C» и «D» (потому что за ними может следовать любая из шести букв) но только пять веток выходят из "B", "E" и "F" (потому что они не могут следовать сами за собой). Этот шаблон ветвления практически такой же, как в моем ответе, но вы можете предпочесть думать об этом более наглядно в дереве.
источник
Математический подход
С математической точки зрения решение представляет собой набор элементов декартового произведения между списком и самим удаленным диагонали. Вы можете решить эту проблему, используя этот алгоритм:
Набор - это четко определенный набор различных объектов, поэтому объекты не повторяются.
Переводя его на Python
Убираем диагональ
Мы вычисляем длину набора элементов:
источник
Я думаю, что причина, по которой некоторые считают этот вопрос неясным, заключается в том, что в нем используется термин «двухбуквенные слова». Учитывая то, как каждый подходит к решению, все они интерпретируют «двухбуквенные слова» как нечто вроде «буквенных пар». Будучи заядлым игроком в скрэббл, я сразу же взял вопрос, чтобы сказать: «Сколько законных двухбуквенных слов можно сделать из этих букв?» И это ответ - 12! По крайней мере, согласно последнему изданию Официального словаря игроков в скрэббл (OSPD5). Это слова aa, ab, ad, ae, ba, be, da, de, ed, ef, fa и fe. (Пожалуйста, имейте в виду, что тот факт, что вы никогда не слышали о многих из этих слов, не отрицает их обоснованность!); O)
Просто мое "2 чувства".
источник
Еще один способ считать без грубой силы:
Если первая буква - это a, c или d, то для второй буквы осталось 6 различных вариантов.
Но если первая буква b, e или f, то для второй буквы осталось всего 5 различных вариантов.
Так что есть3 ⋅ 6 + 3 ⋅ 5 = 33 отдельные двухбуквенные слова.
источник
Есть проблема в том, как вы задаете свой вопрос. Какие действия на самом деле разрешают в строке "aabcccddef" принимать двухбуквенное слово? Можем ли мы заменить последнее или только пересечь ненужное? Я нашел два возможных ответа в зависимости от этих условий:
1) Если мы можем заменить буквы любым способом, ответом будет 33, как упоминалось ранее. 30 пар разных букв (6 * 5) и 3 пары одинаковых букв.
2) Если мы не можем поменять местами буквы и можем только пересечь, мы получим гораздо меньше ответов. Давайте посчитаем от начала до конца. Начиная с «а» у нас есть 6 букв на втором месте, начиная с «б», это только 4. «с» также имеет 4, «d» - 3 и «е» - 1. Это всего 18.
источник
мой ответ на вопрос: сколько двухбуквенных слов вы можете получить от aabcccddef
* // Дело в том, что вопрос гласит: «слова», а не комбинации пар. При использовании слов буква должна появляться дважды, чтобы использовать слово более одного раза, например, есть две буквы «а» и две буквы «д», поэтому можно написать «ad» как слово дважды.
источник