![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
![]()
Здравствуйте!
Не могу сообразить, как сделать следующее: необходимо набрать сумму из предоставленных чисел, не больше заданного числа. К примеру дан массив: 2 7 5 3 7, из этих чисел нужно собрать число, к примеру 16. Т.е. 2+7+7 = 16. Подскажите, пожалуйста реализацию? ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
только полный перебор..
для небольшого количества чисел (до 30) будет работать достаточно быстро и с гарантией получения наиболее оптимального решения. а за конкретными алгоритмами и решениями очень рекомендую сходить в тему: Выборка чисел и сюда подбор группы файлов до заданого размера Последний раз редактировалось Serge_Bliznykov; 17.03.2012 в 16:03. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
![]()
К сожалению, по условию задачи чисел может быть до 1000.
Накидал примерный алгоритм, не знаю, получится ли: Как в задании, нам нужно найти сумму 16. Код:
Последний раз редактировалось d3qoot; 17.03.2012 в 18:24. |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
![]() Цитата:
Пытался реализовать свой алгоритм, который написал в 3 сообщении, но что-то пока не получилось. |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Если сумму нужно набрать точную (а в случае, когда это нельзя сделать точно - выдавать сообщение о том, что это сделать). И перебор чисел из отсортированного массива не займёт много времени даже для 1000 чисел. если же сумма может быть меньше заданного числа, тогда вопрос - это должна быть ОПТИМАЛЬНО ВОЗМОЖНАЯ сумма? Если нет - то опять таки задача сильно упрощается. Если не секрет, Вы это для чего делаете? |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 08.06.2011
Сообщений: 30
|
![]()
Serge_Bliznykov, Готовлюсь к олимпиаде.
![]() Само по себе условие должно быть такое: Код:
A - число, которое нужно набрать из массива. Для примера: min = 25 max = 27 соответственно, необходимо набрать сумму из массива равной 26. Последний раз редактировалось d3qoot; 18.03.2012 в 19:08. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В двумерном массиве 3 x 5, состоящем из целых чисел, найти сумму элеметов нечётных строк. (Delphi) | Мария я | Помощь студентам | 1 | 30.04.2011 10:19 |
Задача на паскале (набрать заданную сумму денег) | Старый Gilbert | Помощь студентам | 4 | 21.03.2011 15:12 |
Delphi. получить сумму тех чисел которые кратны 5 и имеют отрицательное значение | Crabobass | Помощь студентам | 4 | 06.03.2011 22:21 |
Набрать номер по модему. Различие в реализации кода Delphi 2007 и 2010. | plato | Общие вопросы Delphi | 8 | 06.04.2010 09:47 |
цикл for to do, или как отобразить сумму всех чётных трёхзначных чисел которые делятся на 7 (Delphi 6) | Lorden | Помощь студентам | 9 | 23.12.2008 18:50 |