|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Взвешивание на равноплечих весах |
|
C/C++ - Взвешивание на равноплечих весах
|
Новый участник Сообщения: 1 |
Профиль | Отправить PM | Цитировать Помогите плз. Кто знает какой алгоритм или как реализовать?:
Задан набор гирь. Необходимо определить наименьший набор гирь, достаточный для определения заданного веса на равноплечих весах, при условии, что измеряемый вес кладется на левую чашу, а гири можно ставить на обе. |
|
Отправлено: 19:51, 26-05-2012 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Цитата basshead:
Я бы сначала задумался о том, какие гири у нас есть и есть ли первое приближение в весе. К примеру если я кладу мешок картошки то я предполагаю что он может весить около двадцати килограмм и исходя из этого веса подбираю гири. Пусть вес измеряемого предмета задаётся случайным числом, генерируемым программой. И пусть для упрощения изложения он будет целым. И также пусть мы не знаем даже примерно чему примерно равен измеряемый вес. Тогда это будет похоже на задачу стрельбы из пушки (ну или как то так она называлась). Где нужно было подбором силы выстрела и угла наклона попасть в цель. Вы кладёте на чашу весов самую большую гирю и проверяете три отношения: равен ли вес гири и измеряемого предмета, больше ли он или меньше. Исходя из полученных результатов вы начинаете добавлять или убирать гири. Если обнаружите некоторую вилку в пределах которой будет находится вес измеряемого тела, то оставляйте больший из 2-х набор гирь и начинайте класть гири на чашу с измеряемым телом. |
|
------- Отправлено: 10:55, 28-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1647
|
Профиль | Отправить PM | Цитировать Что-то задача мутная. Скажем, дано: есть изделие весом в 19 грамм. Я отвечаю: наименьшим набором гирь для ее взвешивания является одна-единственная гиря весом в 19 грамм. А Вы бы как ответили?
Короче, я не вижу формулировки, достаточной для разработки алгоритма. Должны быть некие явные ограничения на вес гирь, на их количество, на предельный охватываемый ими вес. Скажем конкретнее: формулировка задачи не оказывает никакого сопротивления решению методом "в лоб" (брут-форс, как хотите называйте). |
Отправлено: 13:04, 28-05-2012 | #3 |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать насколько мне известно гири бывают только весом ряда 1,2,5,10. по этому скажем 19г можно взвесить 2-мя гирями: 19+1г и 20г на чашах соответственно. а с алгоритмом все просто, самое простое - тупо перебор, если хватает мозгов - оптимизируй его выкидывая лишнее. можно попробовать поискать условия, когда ставить гирьки на 2 чаши весов заведомо лучше чем только на одну чашу
|
Отправлено: 19:20, 28-05-2012 | #4 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Цитата Beyound:
|
||
------- Отправлено: 10:34, 29-05-2012 | #5 |
Ветеран Сообщения: 1647
|
Профиль | Отправить PM | Цитировать Цитата Beyound:
|
|
Отправлено: 12:12, 29-05-2012 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
|