FAQ по форумуНовые сообщения на Форуме
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
13 монет - 6
freewsДата: Сб, 29.06.13, 23:33 | Сообщение # 21
Знаток
Сообщений: 27
Награды: 9
Совы: 3
2 Kreativshik
Согласен, есть ошибка в логике взвешиваний, буду думать дальше.

Ваш поиск так же не верен, или я его не до конца понял.
Привожу пример. Монеты лежат в следующей последовательности масс:
10,1,2,3,4,5,6,7,8,9,13,12,11
1) взвешиваем монету №1 - 10 (10 это вес)
2) взвешиваем монету №(1+5) - 5 - максимальная монета №1
3) взвешиваем монету №(1+3) - 3 - максимальная монета №1
4) взвешиваем монету №(1+2) - 2 - максимальная монета №1
5) взвешиваем монету №(1+1) - 1 - максимальная монета №1
6) взвешиваем монету №(1+1) - 1 - максимальная монета №1
максимальная монета №1 массой 10, однако ближайшие к ней монеты массой 1 и 11, и это не есть
правильный ответ.
Давайте думать дальше... (или укажите если я не правильно понял ваш метод).


Сообщение отредактировал freews - Сб, 29.06.13, 23:43
 
KreativshikДата: Вс, 30.06.13, 02:14 | Сообщение # 22
Гений
Сообщений: 2472
Награды: 258
Совы: 113
Начиная с третьего пункта вы ошиблись. В моем решении ясно сказано, что монеты отсчитываются в сторону наибольшего шага. Вы же считали монеты все время в сторону меньшего шага. Шаг - это расстояние между соседними взвешенными монетами. Вот давайте рассмотрим Ваш пример. Монеты расположены по кругу и имеют веса указанные вами. Вы выбрали монету вес которой оказался 10 далее мы отсчитываем пять монет в любую сторону и взвешиваем монету на которой остановили счет. В Вашем случае это монета с весом 5. Определяем среди них тяжелую,- это понятно первая монета с весом десять,- от нее в сторону большего шага(шаг меду первой и второй взвешенной монетой составляет четыре невзвешенных монеты в одну сторону, а в другую семь,- вот в эту сторону и отсчитываем) отсчитываем три монеты. Попадаем на монету с весом 13. Она имеет наибольший вес среди уже взвешенных, поэтому отсчитываем уже от нее. Как показывает алгоритм, необходимо отсчитать две монеты в сторону большего шага, в одну сторону он составляет две монеты, а в другую четыре - туда то и считаем. Отсчитываем две монеты, попадаем на монету с весом 8. Среди взвешенных больший вес понятно у какой, от нее и отсчитываем одну монету опять в сторону большего шага, попадаем соответственно на монету с весом 12. Ну и опять отсчитываем от самой тяжелой среди уже взвешенных одну монету в сторону, естественно, наибольшего шага, в одну сторону он составляет 0, а в другую 1. То бишь попадаем мы на монету с весом 9. Определяем среди взвешенных самую тяжелую, она и есть решение. Теперь надеюсь ясности в предложенный алгоритм я внес?! Выбирайте веса на ваш вкус и проверяйте алгоритм пока не надоест, он все равно будет работать как швейцарские часы, ведь математика эт наука точная. Кстати, а причем тут математика, кто знает?

Жёлтый Зелёный Красный
 
freewsДата: Вс, 30.06.13, 20:19 | Сообщение # 23
Знаток
Сообщений: 27
Награды: 9
Совы: 3
Kreativshik, спасибо, я теперь понял как все реализовано. Данный метод действительно не ищет самую тяжелую монету, а находит более тяжелую относительно двух соседних, именно так как написано в задании (и это не обязательно будет самая тяжелая монета, как повезет). Здесь для поиска монеты используется метод золотого сечения.
 
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

Интересная информация
Последние задачи Сообщество эрудитов ВКонтакте Рейтинг сообщений Совиный рейтинг
1.Арнольд, да не тот46
2.Дом11
3.Найди число28
4.Шофёры, художники, рыболо...2
5.шифрование0
6.Задача на подбор ответа0
7.загадка из видео на ютубе5
8.Замечание об определении ...0
9.Замечание о мантре в мето...2
10.Помощь с решением задачи11
1.Rostislav5379
2.Lexx4728
3.nebo3639
4.Иван3061
5.никник2769
6.Kreativshik2472
7.Гретхен1807
8.Vita1542
9.erudite-man1378
10.Valet937
1.nebo123
2.Kreativshik113
3.sovetnik49
4.MrCredo38
5.IQFun30
6.Pro100_Artyom27
7.marutand20
8.хан20
9.никник15
10.Фигаро15

ГлавнаяГостевая книгаFAQОбратная связьКоллегиФорум Эрудитов