Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Запустить одни часы. Пока они идут, то отмерить половину песка во вторых часах (переворачиваю их набок). Потом использовать их для последних 8 минут.
Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Потребуется много терпения.
1) Запускаем все трое часов.
2) на глазок определяем что половина песка высыпалась и останавливаем(кладем на бок) все трое часов.
3) звое часов запускаем в разные стороны
4) если они не одновременно подошли к концу то сбрасываем все трое часов и гото 1
5) в третьих часах у нас 8 минут куда не крути
6) дальше просто...
Здравствуйте, HoseCo, Вы писали:
HC>Здравствуйте, Нэчер, Вы писали:
Н>>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>>Как точно(не на глаз)отмерить 24 минуты?
HC>Потребуется много терпения.
HC>1) Запускаем все трое часов. HC>2) на глазок определяем что половина песка высыпалась и останавливаем(кладем на бок) все трое часов. HC>3) звое часов запускаем в разные стороны
ok. Пусть песок распределился на две части: 7+9
Одни часы опустеют через 7 минут, другие будут "работать" еще 2 минуты.
Как это поможет нам получить 8 минут в третьих?
HC>4) если они не одновременно подошли к концу то сбрасываем все трое часов и гото 1
Как, и все заново?
Это лоттерея какая-то.
Беда еще и в том, что в песочных часах песок в верхней и нижней колбах расположен по-разному. Грубо говоря: сверху у нас конус с ямкой, а снизу цилиндр с горкой, определить равны ли части песка проблематично.
HC>5) в третьих часах у нас 8 минут куда не крути HC>6) дальше просто...
Здравствуйте, Нэчер, Вы писали:
HC>>4) если они не одновременно подошли к концу то сбрасываем все трое часов и гото 1
Н>Как, и все заново? Н>Это лоттерея какая-то.
Именно все заново. В этом недостаток моего алгоритма. Зато при наступлении счастливого случая, мы можем со стопроцентной уверенностью говорить, что в часах ровно 8 минут.
Для ускорения процесса можно на часах на каждом витке цикла 1-4 ставить рисочки, и например методом дихотомии максимально приблизиться к счастливому случаю и уж потом уповать на удачу или же довольствоваться достигнутой точностью, которую можно определить на шаге 4 по количеству песка, оставшегося в часах номер 1 или 2.
Здравствуйте, HoseCo, Вы писали:
HC>Для ускорения процесса можно на часах на каждом витке цикла 1-4 ставить рисочки, и например методом дихотомии максимально приблизиться к счастливому случаю и уж потом уповать на удачу или же довольствоваться достигнутой точностью, которую можно определить на шаге 4 по количеству песка, оставшегося в часах номер 1 или 2.
Перечитал и ужаснулся, какое длинное и корявое предложение.
Здравствуйте, vit0s, Вы писали:
V>Здравствуйте, Нэчер, Вы писали:
Н>>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>>Как точно(не на глаз)отмерить 24 минуты?
V>а вообще решение есть? Ты знаешь его?
Ясное дело есть. Я обязательно приведу ответ на след. неделе.
А пока -- мучайтесь
а можно разбирать часы? ну по весу там отделить необходимое количество песка
А если серьезно, то:
если поставить одни часы под углом? Это поможет? Может есть какой-то угол при наклоне на который — часы опустят вниз только половину песка? Я не знаю уже... Хотя в этом случае зачем тогда вообще еще двое часов...
С часами можно делать что-то кроме изменения их положения в пространстве? Хирургическое вмешательство разрешено?
Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Блин, я тебя умоляю, скажи ответ ))) Работа стоит, и не у меня одного ))
Что тут получается, не знаю в какую сторону думать уже....
Имеем кольцо остатков действительных чисел по модулю 16 и нужно найти элемент второго порядка...
При чем как видно у нас из возможных действий только сложение...
Если 16 это k, то мы можем иметь 1*k, 2*k, 3*k етс...
Мы не умеем тут делить, потому что "на глаз" не подходит, погрешности не уместны...
Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Чего-то нормального решения не вижу... Есть только такой вариант:
1) из первых часов высыпаем весь песок в урну (чтобы не мусорить
2) пересыпаем из вторых часов в первые половину песка (на глаз)
3) сравниваем кол-во песка в обоих часах и пересыпаем до тех пор, пока не уровняется
4) или пересыпаем из первых часов в третьи (если поместится) и запускаем их, или запускаем сначала третьи, а затем, мгновенно, первые...
Здравствуйте, HoseCo, Вы писали:
HC>Здравствуйте, vit0s, Вы писали:
HC>ненене. Дайте еще подумать. Да и на выходных будет чем заняться.
тогда вопрос к топикстартеру — решение механическое (знать когда и что перевернуть надо и куда посмотреть) или математическое (развивать мысль кольца остатков действительных чисел)?
Здравствуйте, fsheet, Вы писали:
F>Здравствуйте, Нэчер, Вы писали:
Н>>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>>Как точно(не на глаз)отмерить 24 минуты?
F>Чего-то нормального решения не вижу... Есть только такой вариант: F>1) из первых часов высыпаем весь песок в урну (чтобы не мусорить F>2) пересыпаем из вторых часов в первые половину песка (на глаз) F>3) сравниваем кол-во песка в обоих часах и пересыпаем до тех пор, пока не уровняется F>4) или пересыпаем из первых часов в третьи (если поместится) и запускаем их, или запускаем сначала третьи, а затем, мгновенно, первые...
не думаю.... с таким подходом хватит и одних часов... просто оставить там половину (8 минут) и 2 раза потом быстро перевернуть их... Тогда и остальные двое не понадобяться... А тут я так думаю все 3 задействованы...
Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Задача сводится к отмерении ровно половины часов.
Буду показывать на примере. Сам алгоритм может позже опишу.
Опишу обозначения.
Пронумеруем часы 1,2,3
В момент остановки часов буду показывать сколько времени в каждых из часов следующим образом:
5|10|15 – значит в часах номер 1- 5минут(10 если смотреть в другую сторону), 2- 10 минт, 3 — 15 минут
Будем делить примерно пополам постоянно увеличивая точность. Пример решения задачи
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
Достаточно одних часов.
Условимся, что часы отмеряют 16 минут около поверхности земли.
Значит достаточно поднятся на высоту, на которой сила тяжести будет в 1.5 раза меньше и там мерять 24 минуты.
Здравствуйте, HoseCo, Вы писали:
HC>Буду показывать на примере. Сам алгоритм может позже опишу.
обозначения
R – Часы идут
S – Часы стоят
ChangeOrientation(номер часов) меняет ход часов на обратный
WaitRand(номер часов N) ожидание случайного момента, наступайющего до того, как закончится песок в часах N
Wait(A, B) ожидание момента когда закончится песок в одних из часов
Empty(A) весь песок в часах A находится в одной из половинок
Switch(A, B) меняем часы местами
R|R|R
WaitRand(1)
ChangeOrientation(2)
R|R|S
Wait(1, 2)
if Empty(1)
{
Switch(1, 2)
}
do
{
if (Empty(1) && Empty(2))
return Bingo()
ChangeOrientation(2)
R|R|R
WaitRand(1)
ChangeOrientation(2)
R|R|S
Wait(1, 2)
if Empty(1)
{
Switch(1, 2)
ChangeOrientation(3)
}
}
while(true)