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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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