@kr_ilya

Как получить количество всевозможных сочетаний элементов с повторениями?

Есть строка из 64 символов, нужно получить количество всех возможных комбинаций этих символов, по 14 элементов.
Для простоты понимаю возьмем строку ABC и составим из нее всевозможные комбинации по 3 элемента
Что получится

AAA
AAB
AAC
ABA
ABB
ABC
ACA
ACB
ACC
BAA
BAB
BAC
BBA
BBB
BBC
BCA
BCB
BCC
CAA
CAB
CAC
CBA
CBB
CBC
CCA
CCB
CCC

Всего 27 комбинаций
То же самое на python
import itertools
for i in itertools.product('ABC', repeat=3):
	print(''.join(i))


Но мне нужно получить количество всех сочетаний.
Для этого я сделал следующее
q = 0
for i in itertools.product('ABC', repeat=3):
	q+=1
print(q)

Все работает отлично, но когда я попробовал сделать тоже самое для строки
_-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

И генерировать уже не по 3 элемента, а по 14, то скрипт начал выполняться безумно много времени.
(я прождал 1.5 минуты и вырубил). Я предполагаю, это из-за того, что скрипт генерирует комбинации.

Затем я нашел калькулятор. Но для примера со строкой ABC и 3 элементами он вывел всего 10 комбинаций. (Видимо он считает без повторений или еще как-то, без понятия)

Так вот я бы хотел спросить, а есть ли какой-нибудь скрипт (необязательно на Python можно node, php) или формула, по которой можно посчитать количество сочетаний с повторениями?
  • Вопрос задан
  • 1898 просмотров
Решения вопроса 1
LazyTalent
@LazyTalent
Data Engineer, Freelancer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы