Гм, ну теоретически из 90 элементов можно составить 30 комбинаций по 3,
чтоб получить 70, но как?
Мне пришел в голову вот такой алгоритм:
Представи элементы шариками 5 разных цветов, и стараемся их разложить
по чашкам, в 3 каждую, разных цветов. Берем (сумма/3), то есть 90/3=30 чашек,
ставим в ряд.
(цвет шариков) a b c d e
(количество шариков) 9 15 19 21 26
И начинаем раскладывать последовательно проходом по всем чашкам,
начиная с шариков, которых больше всех.
На первом проходе кладем: 26*e 4*d
На втором проходе кладем: 17*d 13*c
На третьем проходе кладем: 6*c 15*b 9*a
Вроде, получилось.
Если шариков какого-то цвета оказывается больше чем чашек, то лишние
не используем. Это в сочетании с последовательным раскладыванием
гарантирует неповторяемость. И, видимо, гарантирует максимальность
числа чашек тоже. Вследствие отсюда выходит, что в каком
порядке раскладывать цвета - пофиг, можно в любом.
Ну, и если какие-то шарики выкинули, то перед раскладыванием надо повторить
расчет числа чашек, взяв сумма/3 уже без них (и повторять выкидывание
лишних и расчет пока сумма/3 не зафиксируется).
-СБ