• Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    1 5 17
    1 5 22
    1 5 23
    1 17 23
    6 17 23

    не получается
  • Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    wataru, пример про двойки натолкнул меня на идею, что нужно за 1 проход продвигаться на 1 шаг. Из 3 сделать 4ки, на втором круге из 4 сделать 5 ки, и это будет легко потому что не сильно усложняет функцию, и потому что из 4х по 3 всего 4 комбинации, из 5 по 4 всего 5, и т.д. Если шаг =1, то всё сильно упрощается. В отсортированном массиве это простая операция проверки следующих элементов
  • Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    функция из списка чисел делает список всех сочетаний-по-три.

    Да
    Этой функции скормили несколько списков.

    Несколько списков разной длины. Минимальная длина списка - 3 числа, максимальная - больше 10 не должно быть.
    ВСЕ тройки даются на вход, надо восстановить изначальные списки.

    даются на вход другой функции, т.е. это как раз то что я и пытаюсь найти.
    Если вариантов несколько, выдать тот в котором общая длина списков минимальна. Так?

    Да

    В общем случае: есть множество М1 сочетаний по 3. Есть функция которая разложит строку чисел в комбинации по 3 f1(). Я ищу функцию f2() которая даст мне множество строк чисел M2.
    Причем, f2(M1)=M2 (искомая функция) и f1(M2)=M1 и M2 меньше M1 (кол-во элементов в множество M2 сильно меньше, чем кол-во элементов в M1).
  • Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    wataru, сортировка поможет, но множество троек не обязательно составит полное множество. Может быть например такое:
    1 5 17
    1 5 22
    1 5 23
    1 17 23
    5 17 23
    И ответом будут 2 ряда:
    1 5 17 23
    1 5 22
  • Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    Одна запись это и есть один элемент исходного множества. Один элемент состоит из трех неповтояющихся чисел.
    Как найти все сочетания из ряда чисел - понятно, а как решить обратную задачу : найти ряд чисел, сочетания из которых дадут исходное множество - непонятно.
  • Как выполнить свертку сочетаний?

    @Maalox Автор вопроса
    longclaps, количество элементов в исходном множестве = кол-во записей
    Я ищу способ записать исходное множество через наборы рядов. Как бы "заархивировать" исходное множество.