powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / перечень возможных комбинаций
7 сообщений из 7, страница 1 из 1
перечень возможных комбинаций
    #39935878
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Необходимо сгенерить (желательно, формулами или более-менее автоматизированно) все возможные комбинации выборок.
Как известно, число способов выбора одного элемента в каждой из k групп, состоящих из ni элементов, определяется соотношением N = n1*n2*n3*…*nk. То есть, если у меня k=три элемента и каждый элемент, например, может принимать целое число в диапазоне от 1 до 5, то решением задачи будет генерация N = 5*5*5 = 125 строк (начало будет таким, как под катом).

111112113114115121122123124125131132133134135141142143144145151152153154155211212213214215
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39935884
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть пока две идеи
1) генерить =СЛУЧМЕЖДУ() на 1 млн строк по всем переменным и удалять дубликаты (не всегда работает, т.к. может не хватить уникальных)
2) писать вложенный цикл на VBA

Если найдется что-то более универсальное, буду очень признателен!
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39935894
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекурсивно.

Передаёшь вниз текущий уровень и текущую недокомбинацию. Если на очередном витке уровень последний - выводишь, иначе в цикле присоединяешь каждый элемент текущего уровня, плюсишь уровень, и передаёшь дальше.
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39935905
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, спасибо за ответ. С рекурсивными алгоритмами я не сильно знаком, но попробую вкурить :)
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39935912
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB
Akina, спасибо за ответ. С рекурсивными алгоритмами я не сильно знаком, но попробую вкурить :)
Все, на что я способен :) Ну хоть работает для k=3
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub scorecard_cheq()

    For n1 = 1 To 5
        For n2 = 1 To 5
            For n3 = 1 To 5
                Npp = Npp + 1
                Cells(Npp, 1) = n1
                Cells(Npp, 2) = n2
                Cells(Npp, 3) = n3
            Next n3
        Next n2
    Next n1

End Sub
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39935970
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
A1=ОСТАТ(СТРОКА()-1;5)+1
B1=ОСТАТ(ЦЕЛОЕ((СТРОКА()-1)/5);5)+1
C1=ЦЕЛОЕ((СТРОКА()-1)/25)+1


Растянуть до 125 строки включительно.
...
Рейтинг: 0 / 0
перечень возможных комбинаций
    #39936017
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
Спасибо большое!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / перечень возможных комбинаций
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]