|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
Добрый день! Необходимо сгенерить (желательно, формулами или более-менее автоматизированно) все возможные комбинации выборок. Как известно, число способов выбора одного элемента в каждой из k групп, состоящих из ni элементов, определяется соотношением N = n1*n2*n3*…*nk. То есть, если у меня k=три элемента и каждый элемент, например, может принимать целое число в диапазоне от 1 до 5, то решением задачи будет генерация N = 5*5*5 = 125 строк (начало будет таким, как под катом). 111112113114115121122123124125131132133134135141142143144145151152153154155211212213214215 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 11:41 |
|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
есть пока две идеи 1) генерить =СЛУЧМЕЖДУ() на 1 млн строк по всем переменным и удалять дубликаты (не всегда работает, т.к. может не хватить уникальных) 2) писать вложенный цикл на VBA Если найдется что-то более универсальное, буду очень признателен! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 11:53 |
|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
Рекурсивно. Передаёшь вниз текущий уровень и текущую недокомбинацию. Если на очередном витке уровень последний - выводишь, иначе в цикле присоединяешь каждый элемент текущего уровня, плюсишь уровень, и передаёшь дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 12:11 |
|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
Akina, спасибо за ответ. С рекурсивными алгоритмами я не сильно знаком, но попробую вкурить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 12:41 |
|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
PlanB Akina, спасибо за ответ. С рекурсивными алгоритмами я не сильно знаком, но попробую вкурить :) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 12:55 |
|
перечень возможных комбинаций
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
Растянуть до 125 строки включительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 15:06 |
|
|
start [/forum/topic.php?fid=61&fpage=6&tid=2171912]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 281ms |
total: | 404ms |
0 / 0 |