Цифровой 2018 - часть 4. О деньгах.

Previous Entry Поделиться Next Entry
14 декабря, 2017
e_kaspersky
Отлично получается! Совершенно необычные и удивительно красивые решения выдают на-гора наши самые мат-продвинутые читатели. Спасибо и поздравляю! Ещё посылка с ценными призами будет незамедлительно отправлена sir_derryk - отличная идея про последовательность единиц и остатки от деления! Ура самым сообразительным!

Но пора всех порадовать ещё задачками-2018. И у меня есть вот какая ->

Однажды настоящий честный русский программист был схвачен непонятной внешности кибер-гос-джиннами и заточён навечно в подземные неведомые скально-пещерные скрепы... И всё на этом. Как вы бы могли подумать, что через сто-пятьсот-тысяч-столетий найдут его, согбенного мумифицированного, в пещере и без клавиатуры.

Ан нет! Настоящий русский программист везде найдёт багу в чужом коде! И вот, есть такая!

Откопал он в неведомой пещере чудесный клад, а там - аж целых 2018 биткоинов золотых монет! Но есть одна засада... Одна монета - фальшивая, она отличается по весу от остальных. Легче или тяжелее - неизвестно. Но другая. На вид, вкус и запах такая же. Но чуть другого веса.

Короче. У настоящего русского программиста есть 2018 монет, одна из которых "левая" и отличается по весу. Есть охранник, дверь и весы. Весы самые простые - насыпаешь на левую лапу, на правую лапу = они показывают ниже-больше или же просто равенство тяжести. Русскому программисту нужно выйти наружу без палева - чтобы никаких фальшивок на руках не было.

Ценник в пещере следующий:
- Каждое взвешивание стоит один биткоин одну золотую монету.
- Выход из пещеры через коррумпированного стражника стоит ещё пять золотых монет, но если среди них найдётся хоть одна фальшивая, то будет русскому программисту exception, несовместимый с продолжением его трудовой истории.
- Если фальшивая монета найдётся "в багаже", то будет та же самая история.

Короче, ему нужно найти фальшивую монету и избавиться от неё.

Так вот: хороший программист - сколько он гарантированно вынесет голда с этой фармы? По максимуму - сколько? И чтобы 100% гарантия результата, то есть без жертв и разрушений.

У меня получилось... много. Целых 2003 штуки. Как так получилось? Дерзайте - вдруг получится ещё больше? :)



P.P.S. Уже поправил, приношу извинения за приченённые неудобства... Извините.
P.S. Ой-ой-ой, я облажался с постановкой задачи. Конечно же, требуется вычленить фальшивую монету за оптимальное количество взвешиваний. А потом уже за пять монет покинуть помещение. Приношу извинения, но задача формулируется немного более изощрённо.
Метки:
Previous Entry Поделиться Next Entry

Записи из этого журнала по тегу «chtogdekogda»

  • Adventures и «адвенчуристы» 20-го века.

    Мальчики и девочки, те из вас, кто прочитал мой предыдущий пост до самого конца, знают - я уже несколько дней на совершенно замечательной…

  • Ответы о мячах.

    Всем привет! То ли моя недавняя задачка о мячах была слишком сложной, то ли слишком простой, а может быть просто не было достойной мотивации типа…

  • Задача о мячах.

    В эфире регулярная рубрика "О физико-математическом" - лучшая зарядка для ума, чтобы извилины были гладкими и шелковистыми, а серое вещество самой…


Re: Не программист пытается выбраться на волю

ecolimp

2017-12-15 08:56 (UTC)

Но во всех случаях весы когда не уровновешены, одна чашка легче, другая тяжелее. Но это излишнее условие яввел Оно не являетнся необходимым. Можно снимать любую чашку для "выноса" - другую использовать для продолжения поиска.
Как только мы увием равновесие на весах, это значит, что на весах все монеты подлинные. Фальшивая была отложена (так может получиться при 2-м, 5-м, 7-м,9-м,10-м взвешиваниях).
Вот ход идентификации фальшивки:
Делим 2018 на две кучки: 2018:2= 1009 Начинаем взвешивание.
1) 1009 и 1009. Равновесие не возможно. Фальшмонета в одной из кучек по 1009.
2) Откладываем монеты с одной чашки (1009) и делим монеты с другой чашки на две кучки по 504, 1 монетку отложим. взвешиваем. Если равновесие - мы толькро что отложили фальш монетку. Задача решена. Но... невезение: нет равновесия.
3) Делим 504 на две кучки по 252, взвешиваем. Равновесия нет.
4) Делим 252 на две кучки по 126 и взвешиваем. Равновесия нет.
5) Делим 126 на две кучки: 63 и 62 +1 монетку отложим. Взвешиваем по 62. не везет: нет равновесия.
6) Делим 62 на две кучки по 31, взвешиваем. Равновесия не будет.
7) Делим 31 пополам: 15 и 14 +1 отложена. Если равновесие – задача решена. Но… невезуха
8) Делим 14 на две кучки: 7 и7 . Равновесия не будет.
9) Делим 7 на две кучки: 3 и 3 + 1 отложим. Если равновесие – задача решена. Но… невезуха
10) Делим 3 на две кучки: 1 и 1 и 1 откладываем. Если равновесие – задача решена. Но… невезуха
11) Снимаем с более легкой чашки монетку, кладем вместо нее одну из ранее отложенных (они все не фальшивые). Если равновесие, задача решена: значит, отложена фальшивая. Если равновесия нет, то на весах одна только что положенная нами подлинная монета и другая, которую мы не трогали – фальшивая. Эту операцию, поскольку на одной чашке мы не трогали монету, я не счел взвешиванием, стараясь увеличить свою выгоду. Но охранник может настаивать, и я должен оплатить и эту манипуляцию с заменой монеты
Итак, мы провели 10 (11) взвешиваний, 5 монет отдадим охраннику, одну (фальшивую) ывыбросим. У нас останется на вынос:
2018 - -10 (или11) (взвеш.) -5 (охр) – 1(выбросили)= 2002 ( или 2001)


Edited at 2017-12-15 10:27 (UTC)

?

Log in

No account? Create an account