Я пытаюсь написать операцию, которая может перечислять все комбинации набора из N элементов. Другими словами, N неизвестен и зависит от пользовательского ввода. При приеме N функция должна иметь возможность дать всю возможную комбинацию набора N элементов, со всеми элементами из множества U. Скажем, U = {A, B, C ... J}, 10 элементов в Всего. Еще один пример того, что мне нужно, функция enumerate (3) должна рассказать мне все возможные комбинации, такие как {A, B, C}, {A, D, J} и т. Д., Используя элементы, выбранные из U.Перечисление комбинации n-элементов набора Java/Groovy
Я попытался сделать это так, чтобы использовать для циклов (инициализация целого числа, так как размер U в этом случае равен 10, поэтому я могу использовать 123 для обозначения {A, B, C} ...). Но код плохо пахнет, и я хотел бы знать, как это можно сделать более элегантно с использованием рекурсивных вызовов.
Java/Groovy являются приемлемыми (потому что я тоже пытаюсь в них). Если бы кто-нибудь мог представить идеи, как это сделать с закрытием в Groovy, это будет еще более оценено.
Также, пожалуйста, не используйте целые числа, чтобы обозначать комбинацию так, как я, потому что я думаю, что это относится только к определенному U без какой-либо общности.
Спасибо!
Можете ли вы показать свою попытку кода? – MaxZoom