Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

Задача для разминки мозгов - практичный вариант   Найти похожие ветки 

 
Сатир ©   (2002-12-28 13:33) [0]

Есть компания из N человек. Есть одна бутылка известной жидкости и пустой стакан. Спрашивается, как разделить содержимое бутылки между участниками компании так, чтоб каждый был уверен, что он выпил не меньше 1/N содержимого бутылки. Переливать назад из стакана в бутылку не запрещено.


 
han_malign ©   (2002-12-28 14:26) [1]

Пипеткой...
З.Ы. А все равно не получится - в любой бутылке остается еще 40 капель... :))
З.З.Ы. Свести N к одному - но это уже алкоголизм...


 
Ketmar ©   (2002-12-28 14:43) [2]

отобрать стакан и бутылку, мотивируя необходимостью проверки жидкости на качественность. когда напроверяешься до упора, то
а) если осталась жидкость: отдаешь следующему дегустатору
б) если нет больше жидкости: говоришь, что была "паленая".

ну и что, что задача не решена? зато удовольствие получили %-)

Satanas Nobiscum! 28-Dec-XXXVII A.S.


 
Сатир ©   (2002-12-28 14:57) [3]

2han_malign © (28.12.02 14:26)
пипетки в наличии не имеется

2Ketmar © (28.12.02 14:43)
>ну и что, что задача не решена? зато удовольствие получили %-)
не спеши...


 
Игорь Досужев ©   (2002-12-28 15:16) [4]

Есть древний способ, как поровну разделить кучку алмазов/золота/жемчуга на две равные части: один человек делит на 2 мешочка, а второй забирает тот мешочек, который ему больше нравится. Ясно, что второй постарается взять тот мешочек, где драгоценностей больше, поэтому первый вынужден делить поровну.

Думаю, можно придумать модификацию для N участников. Например, по очереди наливают, а жребием определяют, кто это выпьет.


 
Странник ©   (2002-12-28 15:27) [5]

капельмейстер нужен


 
Сатир ©   (2002-12-28 15:39) [6]

2Странник © (28.12.02 15:27)
ждём-с...


 
France   (2002-12-28 15:46) [7]

Если объем бутыля 0,5л, а выпивающих трое...
То делите сами... :)


 
Сатир ©   (2002-12-28 16:08) [8]

2France (28.12.02 15:46)
а если иначе?


 
Сатир ©   (2002-12-28 16:11) [9]

2France (28.12.02 15:46)
так даже при таких условиях, если ты считаешь, что это легко, предложи свой вариант.

Я, например, решения не знаю, поэтому и повесил эту задачку здесь.
Да к наступающим праздникам думаю, она будет очень кстати


 
France   (2002-12-28 16:45) [10]

Знаю точно, как налить половину стакана. Надо его наклонить и лить до тех пор, пока жидкость не коснется одновременно края стакана и пересечения стенки и дна. Это ровно половина.


 
McSimm ©   (2002-12-28 16:47) [11]

France (28.12.02 16:45)
Неверно. Стакан к верху расширяется - будет меньше половины.


 
Сатир ©   (2002-12-28 17:28) [12]

2France (28.12.02 16:45)
плюс к этому нужно учесть, что восприятие положенной 1/N-той части у каждого участника компании разное. Естественно, варианты, когда ты считаешь, что твоя 1/20-я часть бутылки есть её половина, отметается с самого старта.
Вообщем, поделить нужно поровну и честно.
А кто и как это будет делать, вопрос времени и ваших потенциальных способностей.


 
Сатир ©   (2002-12-28 19:47) [13]

народ, а ведь компания не ждёт!
ведь щаз до драки дойдёт, если не поделите...


 
Сатир ©   (2002-12-28 19:59) [14]

Ура! У меня кажется есть решение!!!
Так, даю самым умным ещё один день и завтра расскажу свою идею


 
Sha ©   (2002-12-28 20:01) [15]

Первый наливает, по его мнению, 1/N жидкости в стакан и говорит, что готов ее выпить. Если кто-то считает, что там больше, он имеет право отлить лишнее в бутылку при условии, что затем выпьет остаток. Далее, думаю, ясно.


 
Сатир ©   (2002-12-28 20:12) [16]

2Sha © (28.12.02 20:01)
много неточностей, да и мой вариант оказался неверным. Только что перезвонил коллеге, грит - халява.

А идея была следующая:
Наливаем целый стакан и даем первому участнику с просьбой отпить положенное. Участник тут же смотрит на бутылку, забывая, что она уже не полная, и отмечает про себя, соответсвенно, меньшую часть. Остаток назад выливаем в батл. Но такой вариант не пройдёт со слабонервными и теми, что закодировались. Ведь каждый в таком случае может надпить больше, чем положено, чем вызовёт всеобщий ропот, гнев и негодование, с последующим рукоприкладством. А это не есть карош, да и не честно совсем...
Значить, тогда решаем дальше, каспада карошие


 
Sha ©   (2002-12-28 20:15) [17]

2 Сатир © (28.12.02 20:12)
> много неточностей

Это о чем?


 
Сатир ©   (2002-12-28 20:23) [18]

2Sha © (28.12.02 20:01)
Если кто-то считает, что там больше, он имеет право отлить лишнее в бутылку при условии, что затем выпьет остаток
следовательно, сколько бы вы не отлили себе в стакан, все будут бояться возражать под страхом отпить меньше. Тогда контр-вопрос: дойдет ли до последнего участника компании очередь допить остатки?


 
Sha ©   (2002-12-28 20:27) [19]

Уже начал праздновать? Тогда, для начала, выполним тестирование состояния основных систем организма.

Тест 1.
1,2,3,4...
Требуется продолжить ряд.
Если продолжить удалось, значит можно продолжать :)

Тест 2.
Требуется продолжить решение Sha © (28.12.02 20:01).
Если удалось, тестирование успешно пройдено :)

Ответ на Тест 2. (Не подглядывать)
Имелось ввиду "остаток в стакане".


 
Сатир ©   (2002-12-28 20:39) [20]

2Sha © (28.12.02 20:27)
>тестирование состояния основных систем организма.
мля, ну мы же не яд делим!
Ладно, для непьющих считать, что в батле элексир молодости, а вокруг собралась шобла в тыщу душ.
Скажи-ка тогда, начальник, как всех напоить-то в сласть?


 
Sha ©   (2002-12-28 20:43) [21]

2Сатир © (28.12.02 20:39)
> Скажи-ка тогда, начальник, как всех напоить-то в сласть?

Это обычный аукцион на понижение. Первый наливает себе и говорит: "Я готов это выпить". Затем каждый участник имеет право сказать: "Я считаю, что 1/N меньше, и готов выпить меньше". Так продолжается до тех пор, пока последнему сказавшему это все остальные не говорят "Да черт с тобой - пей". Он выпивает и становится зрителем аукциона между N-1 участниками.


 
Сатир ©   (2002-12-28 20:50) [22]

2Sha © (28.12.02 20:43)
>участник имеет право сказать: "Я считаю, что 1/N меньше, и готов выпить меньше".
имеет право, но сдаётся мне - не скажет:(
ладно, ты свой выриант отшлифуй до блеска, а я завтра с коммисией переговорю. Но коммисия просила дать красивое решение, а не чёртичто... аукционы какие-то...
... и где вы эти слова берёте...

Да, и альтернативных вариантов неплохо бы поиметь для сравнения, вот как в предыдущей задаче, например, одно такое шешение, другое - совсем другое, и может быть, и лучше...


 
Sha ©   (2002-12-28 20:53) [23]

Хорошо бы иметь еще альтернативу для значения 2х2 :))))))))


 
Сатир ©   (2002-12-28 21:01) [24]

Sha © (28.12.02 20:56)
дык, это ж две большие разницы


 
Sha ©   (2002-12-28 21:06) [25]

Математика - она и на дне бутылки математика. (с) мой.


 
Сатир ©   (2002-12-28 21:15) [26]

2Sha © (28.12.02 21:06)
расскажешь это дяде Васе
"Если народ хочет выпить, их никакая математика не остановит" (с) Ломоносов


 
Clickmaker ©   (2002-12-28 21:21) [27]

На самом деле, тот кто живет регулярной алкогольной жизнью (как я, например) тот может легко разлить поровну. Без всякой математики.


 
ну это я, как кто?   (2002-12-28 21:54) [28]

2Clickmaker © (28.12.02 21:21)
это называется "человеческий фактор". исключить.


 
Lola ©   (2002-12-29 02:36) [29]

В молодые годы помнится делили "бульками", делилось достаточно точно. Только уже не помню, сколько булек в бутылке... :)


 
Сатир ©   (2002-12-29 13:50) [30]

Ну всё - решение готово.

Коммисия рассмотрела все варианты и постановила объявить г-на Ша наиболее близко подобравшимся к верному решению. Но. Но есть одно "но". Нужно чётко оговорить процедуру дележа, чтоб бы в случае, если последнему останется самая большая часть, никому не было обидно.
Да, и ещё. (Ну это уже скорее на моей совести.) Нужно поделить не поровну, а честно. А это две большые разницы.
Так что даю ещё один день на существенное уточнение к предложенному г-ном Ша решению, и будем с этим делом проверять на практике. А как же ещё проверить точность решения и справедливость теории? Совершенно верно. Нужно провести лабораторную работу. К тому же наступающие праздники только будут способствовать благоприятному стечению обстоятельств и положительных результатов.
С Наступающим.
Ждём ваших предложений, уважаемые.


 
France   (2002-12-29 14:03) [31]

Предлагаю такое решение. :)
Берете и чем нибудь царапаете отметки на этикетке бутылки.
Каждый выпивает свою долю. Не очень точно, зато честно.


 
Сатир ©   (2002-12-29 15:09) [32]

2France (29.12.02 14:03)
этикетка отсутствует. Портить поверхность бутылки воспрещено под страхом её разбить.


 
Sha ©   (2002-12-29 21:08) [33]

2 Сатир © (29.12.02 13:50)

> Нужно чётко оговорить процедуру дележа, чтоб бы в случае, если
> последнему останется самая большая часть, никому не было обидно

Никому и не должно быть обидно - каждый считает, что в отношении него справедливость не нарушена, что он выпил 1/N часть жидкости или больше. По его мнению оставшимся N-1 собутыльникам досталась (N-1)/N часть или меньше, что тоже справедливо :). Как они ее поделят ему не важно, он свое получил: "Мы люди не завистливые, сколько выпил другой - не наше дело". Есть сомнения - смотри условия: "Спрашивается, как разделить содержимое бутылки между участниками компании так, чтоб каждый был уверен, что он выпил не меньше 1/N содержимого бутылки". И ни слова про "обиды" - не гимназистки.


> даю ещё один день на существенное уточнение к предложенному г-ном Ша решению

Сатир © (31.12.02 23:59 :) "А щас будем существенно уточнять, скока будет 2х2..."


 
SI-riuss ©   (2002-12-29 23:20) [34]

С Ша не согласен.
Хотел бы я быть в этой компании первым, кто будет отмерять свои 1/N. Налью себе свои 2/3 бутылки, и пусть кто пикнет, что замного, придется ему вообще не пить, а то и вовсе бежать в магазин за недостающими -х ml жидкости.


 
Rouse_ ©   (2002-12-30 00:21) [35]

Есть старинный Русский способ.
Берем 3 стакана, и в каждый отливаем ровно по 7 (семь) булек :)
Варианты с более многочисленными участниками рассчитываются с привлечением техже 7 булек и счетов :))

Вот немного другого рода задача.
Есть функция типа MyFunc(Value: Integer): Integer;
В нее передаются значения.
Значения могут быть или 496 или 678.
Если передано первое значение, то должно вернуться второе и наоборот, в случае переданного второго значения результатом должно вернуться первое.

Задача, для первого класса :)
Нужно написать самый оптимальный алгоритм данной функции.

Желаю успехов



 
SI-riuss ©   (2002-12-30 00:48) [36]

if MyFunc=496 then MyFunc:=678 else MyFunc:=496;
А в чем прикол???


 
Rouse_ ©   (2002-12-30 01:09) [37]

Result := 1174 - Value;

:))


 
Rouse_ ©   (2002-12-30 01:11) [38]

Логика, Господа, Логика!!! Иначе не быть нам мастерами

Желаю успехов


 
SI-riuss ©   (2002-12-30 01:21) [39]

Ничего не понял...
Почему
> Result := 1174 - Value;
?
Ведь по условию никаких матаматических вычислений не задавалось, почему получилась сумма?
Или объясни, или все это фигня какая-то


 
Rouse_ ©   (2002-12-30 01:43) [40]

По условию задавалось, цитирую: Нужно написать самый оптимальный алгоритм данной функции

Важен алгоритм, т.е. логика построения приложения. А результат и у Вас и у меня одинаковый. Но каковы затраты! (проверьте асм код и удивитесь :)

Желаю успехов



Страницы: 1 2 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.02 c
1-62462
SergeySS
2003-01-08 17:43
2003.01.20
Нужна помощь!


1-62525
patrol
2003-01-10 14:11
2003.01.20
версия exe-шника


7-62864
KDS
2002-11-04 17:27
2003.01.20
DDR SDRAM


1-62582
sanik
2003-01-08 03:46
2003.01.20
Как стрим (любой) в клипборд перегнать и выдавить в WORD?


8-62668
TheSight
2002-07-04 15:29
2003.01.20
Анализатор речи (схожести произношения)