![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 08.09.2013
Сообщений: 37
|
![]()
Дан массив. Пусть для примера в нем будут числа 1, 3, 5, 7, 9
Дано число - n Нужно найти все возможные сочетания n чисел в массиве. Например если n = 3, то будет выведено 1 3 5, 1 3 7, 1 3 9, 1 5 7, 1 5 9, 1 7 9, 3 5 7, 3 5 9, 3 7 9, 5 7 9. |
![]() |
![]() |
![]() |
#2 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,680
|
![]()
Интересная задача. С удовольствием посмотрю наработки.
![]()
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.09.2013
Сообщений: 37
|
![]()
Нашел алгоритм решения из учебника дискретной математики:
![]() Со знанием этого алгоритма задача упрощается, хотя все равно слету не решить. Но можно еще немного упростить: сделать в точности как там, как будто у нас массив от 0, 1, 2, 3, 4. И забьем на то, что в исходном массиве у нас 1, 3, 5, 7, 9. Потом у нас получатся сочетания, 0 1 2, 0 1 3, 0 1 4 и т.д., и мы сделаем для каждого сочетания: comb[i] = arr[comb[i]], где comb - массив, в котором находится сочетание, а arr - исходный массив. |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 07.12.2014
Сообщений: 1
|
![]()
Здравствуйте . Собственно , это моя задача , а писал друг со своего аккаунта.на данный момент я решил задачу способом вложенных циклов.Но
вся штука в другом - эта задача является лишь локальной - то бишь подзадачей в более крупной , а именно : в файле записано количество различных наименований товаров (1 число) потом количество совершенных покупок (1 число).затем в строках идут последовательно : количество товаров , купленных в этот раз потом сами номера товаров.в итоге надо вывести таблицу комбинаций товаров (из 1 , 2 , 3 .... количество всех товаров) , которая чаще всего встречается среди покупок. Нужно сделать в двух алгоритмах ( вложенные циклы при нахождении этих комбинаций - 1 вариант , второй вариант - с помощью рекурсии).почти весь код готов - не хватает только считывания строк с покупками , но , думаю с этим справлюсь.интереснее всего увидеть реализацию рекурсивно. раз интересно - скидываю код (код черновой и быдловой , на нем сам алгоритм тестил). |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализовать два метода поиска строк в массиве: поиск перебором, бинарный поиск на языке Pascal | DimzNOVIchok45 | Помощь студентам | 7 | 19.09.2014 21:40 |
Перебор всех не повторяющихся сочетаний элементов в одномерном массиве | Vladislav000 | Общие вопросы C/C++ | 0 | 20.05.2014 11:42 |
Перечисление всех возможных сочетаний (комбинаторика) C# | irene17 | Помощь студентам | 5 | 18.04.2014 13:41 |
Найти количество сочетаний из n по k и вывести все комбинации этих сочетаний на экран | Рон99 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.12.2011 00:05 |
В массиве A каждый элемент, кроме первого, заменить суммой всех предыдущих элементов | aiktz | Помощь студентам | 7 | 11.10.2010 21:52 |