![]() |
|
|
![]()
|
|
| Alenka_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Помогите, пожалуйста, найти алгоритм составления сочетаний без повторений для множества чисел, количество чисел в сочетании должно задаваться переменной.
Например: есть числа - 11, 9, 7, 5, 3 задаем количество чисел в сочетаниях =2, получаем: 11, 9 11, 7 11, 5 11, 3 9, 7 9, 5 9, 3 7, 5 7, 3 5, 3 задаем количество чисел в сочетаниях =3, получаем 11, 9, 7 11, 9, 5 11, 9, 3 11, 7, 5 11, 7, 3 11, 5, 3 9, 7, 5 9, 7, 3 9, 5, 3 7, 5, 3 Эти числа можно хранить в двумерном масссиве, а можно в ArrayList, состоящий из ArrayList...(в java). Как лучше? Поиском посмотрела темы, которые тут есть, нашла, что, вроде можно решить рекурсией... Но что-то не соображу, как ее тут применить. Да и может другие методы есть? |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
На haskell:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alenka_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Красиво, конечно, но непонятно...
|
|||
|
||||
| Nestor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 15.4.2007 Где: Одесса Репутация: 1 Всего: 1 |
Alenka_. Вот мой алгоритм. Чтоб код стал java-совместимым нужно лишь заменить функции вывода на соответствующие и немного подредактировать оформление.
|
|||
|
||||
| Alenka_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Урраа!!! Работает!
Nestor, Спасибо большое!! Тебе плюс от меня. Только... у тебя этот код работает? Там же выход индекса за предел возможен. Нужно проверку одну включить. Вот мой код:
Ой... а мне нельзя репутацию повышать... попрошу модераторов Это сообщение отредактировал(а) Alenka_ - 18.2.2008, 23:46 |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Мы и без них справимся, не будем тревожить грозных модеров -------------------- Lost.... |
|||
|
||||
| Alenka_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Kangaroo, Спасибо! |
|||
|
||||
| Nestor |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 15.4.2007 Где: Одесса Репутация: 1 Всего: 1 |
Kangaroo, Спасибо за посредничество.
Alenka_, пожалуйста.
Хмм... Все работает. Только, похоже, я допустил одну ошибочку: размер массива arr - NumsOfElems или elems. Но это при выполнении незаметно, поскольку NumsOfValues всегда больше NumsOfElems. А... У вас мой вариант не работает из-за плохого с++->java переводчика
У вас:
Тут continue возвращает нас в цикл, откуда при проверки мы сразу выходим, логичней было написать return; Т.е. в моем случае функция лишний раз и вовсе не вызывается. Насчет этого
То это никогда не наступает - смело можно удалять эту строку. Моя вторая очепатка. |
||||||||
|
|||||||||
| Alenka_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
ну вот, охарактеризовали... Насчет размера массива и той строки ты прав. А вот return нас не
|
||||
|
|||||
| Nestor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 15.4.2007 Где: Одесса Репутация: 1 Всего: 1 |
||||
|
||||
| Alenka_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 18.6.2007 Репутация: нет Всего: нет |
Nestor, Я и не думала обижаться...
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |