Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Генерация сочетаний


Автор: APM 18.2.2008, 18:39
Маленький вопрос. А есть ли в Java стандартная функция для генерации сочетаний. Вроде бы задача стандартная, по идее должны быть готовые решения, не хочется изобретать велосипед заново.

Автор: nornad 18.2.2008, 18:57
Сочетания чего генерировать надо?

Автор: Platon 18.2.2008, 19:00
думается мне ABC, ACB, BAC, BCA, CBA, CAB

Автор: nornad 18.2.2008, 19:07
Хм... а зачем? Если генерить что-то похожее на слова - могу строить догадки, а вот генератор последовательностей символов...
Ладно, если это буквы + цифры - такое для капчей нужно. Хотя, зачем просто стандартный генератор, когда можно его сразу совместить (ну, не до конца, конечно - чтобы структура кода правильной оставалась) с генератором картинки капчи. А отдельно... зачем?

Добавлено через 34 секунды
А ещё, помнится, по молодости забавлялись генератором стишков. smile

Автор: APM 18.2.2008, 20:22
Тут задача совсем простая. Есть последовательность натуральных чисел от 1 до N
1 2 3 4 5 6 7 8 9 и т.д.
Задается некоторое число m и возвращается массив, в котором лежат все сочетания из N по m, т.е.

N=3 
1 2 3
m = 2
Возвращаем
1 2
2 3
1 3

Автор: nornad 18.2.2008, 20:28
Хм... и часто у вас стоит задача такое генерировать? Ни разу таким не занимался и не уверен, что это есть стандартная задача.
Простая - да, но стандартная ли?..
Ну и фунций стандартных в Java я для такого не припомню.

Автор: Hidrag 18.2.2008, 22:40
нужно SUN идею подкинуть, добавить к тройке J2ME, J2SE, J2EE еще и J2FSE (Java 2 For Students Edition) smile

Автор: nornad 18.2.2008, 23:31
Тогда уж и J2NE (Neformal Edition), J2BE (Biker Edition) и так далее...  smile 

Автор: powerOn 18.2.2008, 23:55
Модератор: Давайте вернёмся к теме обсуждения.

Автор: Aikus 19.2.2008, 09:02
по утру в башку ничего путного не идет посему вот:
1. есть массив
{'1','2','3','4','w','t' и т.д.}
2. генерим случайное число от 0 до (длина массива -1)
3. если в данный элемент массива не явл спец символом возвращаем его, а в массиве заменяем на спец символ, иначе все повторяем.

Для тех кто в танке, объясняю, что спец символ - это непечатаемый символ для того чтобы знать что тут было вхождение.
Лучше конечно сделать эти ерундовины с Объектами Array & ArrayList и спец символов не потребуется

Автор: powerOn 19.2.2008, 09:38
Цитата(APM @  18.2.2008,  20:22 Найти цитируемый пост)
Тут задача совсем простая. Есть последовательность натуральных чисел от 1 до N
1 2 3 4 5 6 7 8 9 и т.д.
Задается некоторое число m и возвращается массив, в котором лежат все сочетания из N по m, т.е.

N=3 
1 2 3
m = 2
Возвращаем
1 2
2 3
1 3


А разве в данном случае результат будет не: 
1 2
1 3
2 1
2 3
3 1
3 2

?

Автор: PashaOvechkin 19.2.2008, 11:08
Комбинаторика

Вариации или комбинации.
Судя по описанию - ето комбинации, в которых порядок елементов значения не имеет.

Добавлено через 1 минуту и 49 секунд
и очень сомневаюсь что  в ЙДК есть стандартный способ для решения такой задачи.

Массив из символов и вперёд smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)