Форум программистов, компьютерный форум, киберфорум
Наши страницы
Теория и практика программирования
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
kapka
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 4
#1

Помоготе решить задачу - Программирование

04.01.2011, 20:21. Просмотров 1103. Ответов 10
Метки нет (Все метки)

Составить программу, которая выводит минимальное количество гирь, необходимых для взвешивания любого тела, масса которого не превышает М. Масса тела - целое число. Гирьки можно ставить на обе части весов.
Например, для М=100 ответ 5. Для М=9 - 3.
http://www.cyberforum.ru/programming-theory/thread487847.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 20:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помоготе решить задачу (Программирование):

Помогите решить задачу по архитектуре ЭВМ
решите пожалуйста задачу x = (a*3+b*c)/(b-4) Пример x=(a*2+b*c)/(d-3)...

Помогите решить задачу. Как расставить овец?
Не буду грузить техническими терминами типа 'смена ассортимента','конвеер'....

Помогите решить задачу пожалуйста!!!
Элементы 3 строки поменять на минимальный элемент главной диагонали (матрица...

Помогите решить задачу алгоритм есть
Дана блок-схема алгоритма обработки двумерного массива. Какова будет сумма...

нужно решить задачу в ассемблере с комментами , срочно!
1. В регистр BL записать число EF, в ячейку со смещением 20 записать число 2A....

10
Barbarosa
3 / 3 / 0
Регистрация: 11.06.2008
Сообщений: 27
18.01.2011, 17:24 #2
Было бы неплохо уловия поподробней.
0
palva
3094 / 2228 / 447
Регистрация: 08.06.2007
Сообщений: 8,126
Записей в блоге: 4
18.01.2011, 17:36 #3
Код
Для произвольного M > 0 определить минимальное n, такое что
   существуют i1, i2, ..., in > 0 (гирьки) такие что
      любое неотрицательное m >= M представимо в виде
      m = d1*i1 + d2*i2 + ... + dn*in, где d1, ..., dn
      принимает одно из трех значений: -1, 0, 1.
0
palva
3094 / 2228 / 447
Регистрация: 08.06.2007
Сообщений: 8,126
Записей в блоге: 4
18.01.2011, 17:39 #4
любое неотрицательное m <= M представимо в виде...
0
Vit54
0 / 0 / 0
Регистрация: 21.05.2007
Сообщений: 252
18.01.2011, 21:08 #5
Пусть m1 - вес сaмoй тяжелoй гири. Делишь М нa m1, чaстнoе oт деления - кoличествo гирь весoм m1. Oстaтoк делишь нa m2 - вес сaмoй тяжёлoй из oстaвшихся гирь, чaстнoе oт деления - кoличествo гирь весoм m2. И т. д. Вoт тaкaя cхемa. Пo-мoему, легкo уклaдывaется в цикл. Ну и пoсле кaждoгo деления прoверяешь не рaвен ли oстaтoк нулю.
0
palva
3094 / 2228 / 447
Регистрация: 08.06.2007
Сообщений: 8,126
Записей в блоге: 4
19.01.2011, 00:11 #6
Что-то я совсем плохой стал. Сам же формализовал задачу, а не увидел в записи троичной системы счисления. Короче, решение такое: Гири выбираем подряд из последовательности 1, 3, 9, 27 ... (степени тройки)пока сумма гирь не достигнет числа M. Соответственно и программа может вычислять сумму степеней тройки, либо можно выразить искомое число гирь через троичный логарифм. Ну а все доказательства можно поискать у Кнута в первом томе. Либо вспомнить представление чисел в троичной ЭВМ 'Сетунь' (1960-е годы). Там в качестве цифр троичного представления использовались -1, 0, +1. Например число -5 представлялось как (-1)(+1)(+1)
0
kapka
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 4
21.01.2011, 12:06  [ТС] #7
Большое спасибо! Не мог этого увидеть...
0
kapka
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 4
21.01.2011, 12:19  [ТС] #8
Я вижу, что есть любители поупражняться. А у меня есть еще нерешенные задачи. Предлагаю:
Подсчитать количество n-разрядных чисел, которые местят две семерки, что стоят рядом. Тупой перебор не проходит - нужно уложиться в две секунды.
Например, для n=3 чисел будет 18:
177,277,377,477,577,677,770,771,772,773,774,775,776,777,778,779,877,977.
0
Barbarosa
3 / 3 / 0
Регистрация: 11.06.2008
Сообщений: 27
23.01.2011, 12:29 #9
Если n - количество цифр в числе, то в одном положении 2-х семерок имеем:
(10^(n-2)) - 1 чисел,
количество различных положений двух рядом стоящих семерок в числе: n-1.
Соответственно получаем:
((10^(n-2))-1)*(n-1), n>2
0
kapka
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 4
23.01.2011, 14:44  [ТС] #10
Еще такую не могу решить:
258252278254260246230236230192250254192270230
Здесь закодировано сообщение. Только большие латинские буквы и некоторые стандартные знаки препинания. Нужно прочесть.
0
Barbarosa
3 / 3 / 0
Регистрация: 11.06.2008
Сообщений: 27
23.01.2011, 18:50 #11
Это уже ИМХО из области криптографии.
0
23.01.2011, 18:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2011, 18:50
Привет! Вот еще темы с решениями:

помогите определить по какому алгоритму решить задачу
суть задачи состоит в том,что: есть 4 поля размерами...

Решить задачу симплекс-методом и написать двойственную к ней задачу
решите пожалуйста

Решить задачу
народ помогите пожайлуста.очень просто нужно. вопрос по программированию в...

Решить задачу
Здравствуйте, решите пожалуйста задачу! Заранее спасибо! Мне очень срочно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru