2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Разложение числа на заданные слагаемые
Сообщение17.01.2008, 12:52 


17/01/08
5
Добрый день.

Помогите, пожалуйста, решить задачу.

Есть не целое число N и есть множество C не целых чисел. Необходимо выявить все возможные комбинации, когда из одного или нескольких чисел множества C можно составить сумму, равную числу N.

 Профиль  
                  
 
 
Сообщение17.01.2008, 13:06 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Переберите последовательно все конечные суммы тех элементов из C , которые не превосходят числа N.

 Профиль  
                  
 
 
Сообщение17.01.2008, 13:09 


17/01/08
5
Brukvalub

Это самое простое, что можно сделать.

Я хотел бы узнать, есть ли более умные методы.

 Профиль  
                  
 
 
Сообщение17.01.2008, 13:12 
Экс-модератор


17/06/06
5004
Ничё не понимаю ... Что такое "сумма числа N"? Множество C предполагается конечным? "Не целых" означает "ни в коем случае не целых" или "не обязательно целых"? Типа нужно предложить необходимые и достаточные условия, когда число N является суммой чисел из C? То есть для данных C и N предложить алгоритм проверки? Или для данного C найти все N? или для N найти все C?

 Профиль  
                  
 
 
Сообщение17.01.2008, 13:12 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
menket писал(а):
Я хотел бы узнать, есть ли более умные методы

Например. можно по-умному организовать перебор, тогда объем работы уменьшится.

 Профиль  
                  
 
 
Сообщение17.01.2008, 13:25 


17/01/08
5
AD

Подредактировал первое сообщение на предмет
Цитата:
Что такое "сумма числа N"?
.

Множество С конечное.
Не обязательно целых. Числа положительные.
Нужно сформировать наборы (подмножества) чисел из множества С, таких, которые составят число N при их суммировании.

Добавлено спустя 3 минуты 58 секунд:

Пример.
Число N = 10.
Множество C = {9, 1, 8, 2, 4, 5}.

Правильные подмножества: {9, 1}, {8, 2}, {1, 4, 5}, т.к. их сумма равна 10, т.е. числу N.

 Профиль  
                  
 
 
Сообщение17.01.2008, 14:35 
Экс-модератор


17/06/06
5004
Ну не знаю, ну берем первый элемент множества $C$, скажем, $c_1$, и рекурсивно решаем задачу для $N-c_1$, $C\setminus\{c_1\}$. Когда дорешаем - выбрасываем $c_1$ из $C$, и снова решаем задачу для $N$,$C\setminus\{c_1\}$.

Возможно, поможет предварительно отсортировать C по убыванию. ? Умнее пока не соображу.

 Профиль  
                  
 
 
Сообщение17.01.2008, 15:17 


17/01/08
5
AD

Я примерно также и придумал. Другой вариант — посчитать суммы всех возможных сочетаний элементов множества C, и выбрать из них равные N.

 Профиль  
                  
 
 
Сообщение18.01.2008, 08:46 
Экс-модератор
Аватара пользователя


30/11/06
1265
По-моему, это вариант задачи о рюкзаке (задачи о ранце). Туда смотрите… 8-)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group