подсчет количества перестановок (наверное) - PullRequest
3 голосов
/ 31 августа 2011

Я могу генерировать слова, используя только 2 буквы, скажем, 'k' и 'e'. Длина слова от 5 до 35 символов. Каждая буква и длина слова выбираются случайным образом с помощью rand (). Может кто-нибудь сказать мне, сколько возможных уникальных слов я могу выдать. Благодарю.

PS это так называемые перестановки или комбинации?

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Перестановки: порядок имеет значение (ваш случай) Комбинации: порядок не имеет значения, т.е. "ke" == "ek"

N = 2 ^ 5 + 2 ^ 6 + ... 2 ^ 34 + 2 ^ 35

Это геометрическая серия конечной длины, и Вольфрам Альфа говорит нам: Сумма [2 ^ k, {k, 5, 35}] 68719476704 68 719 476 704 == около 69 миллиардов

1 голос
/ 31 августа 2011

Для каждого слова длины N: есть 2 варианта для каждой буквы, таким образом, есть 2 n возможных слов. Сложение этих значений для всех длин слов от 5 до 35:

>>> sum(2**n for n in range(5,36))
68719476704L
...