Здравствуйте, HoseCo, Вы писали:
HC>Здравствуйте, baily, Вы писали:
B>>С таким допущением задача просто неинтересна, так как это просто прямое решение в лоб.
HC>Не назвал бы эту задачу не интересной и приведённое решение решением в лоб. Во первых данные допущения мне видятся очевидными. Во вторых до такого решения нужно ещё додуматься, а удалось это сделать только Spiceman'у.
Невнимательно читаете ветку. Вот только то, что мне удалось найти. Не исключаю, что есть еще.
Здравствуйте, Нэчер, Вы писали:
Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые. Н>Как точно(не на глаз)отмерить 24 минуты?
МОжет попробовать использовать часы как весы? Положив их центром на тонкий прут и потихоньку пересыпая песок из одной опловинки в другую можно с достаточно высокой точностью поделить песок пополам когда каждая из половинок будет весить одинаково, ну а дальше всё понятно.
---=== С наилучшими пожеланиями, Phoenics ===--- _
Здравствуйте, baily, Вы писали:
HC>>Не назвал бы эту задачу не интересной и приведённое решение решением в лоб. Во первых данные допущения мне видятся очевидными. Во вторых до такого решения нужно ещё додуматься, а удалось это сделать только Spiceman'у.
B>Невнимательно читаете ветку. Вот только то, что мне удалось найти. Не исключаю, что есть еще.
я говорил о том, что именно такое решение предложил только Spiceman(а решение заслуживает внимания хотябы потому, что с его помощью можно отмерить произвольное время). Хотя некоторые решения я не понял
B>baily 14.10.08 17:02
Нониуса-Вернье не знаю, а второй метод, тот же что и у NotImplemented ну и я его вроде тоже предлагал в начале.
B>Кроме того, уверен, что многие до этого догадались, но просто не стали писать, так как все же это решение является решением "на глазок"
А на глазок тут только 2 вещи: 1) конечное число песчинок в часах 2) возможность зафиксировать одновременно истекшие часы.
Здравствуйте, Erop, Вы писали:
E>В целом следует, IMHO, заметить, что никто не обещал, что песок сыплется равномерно. Что если насыпать песка в два раа больше, то будет в два раза дольше и т. п.
В отличие от водяных часов, песочные идут равномерно (за исключением самого-самого последнего отрезка времени).
Потому что они не зависят от давления и инерции.
HC>Нониуса-Вернье не знаю, а второй метод, тот же что и у NotImplemented ну и я его вроде тоже предлагал в начале.
Штангенциркуль видел? У него как раз шкала Нониуса.
Всё тот же фокус с наименьшим общим кратным.
Берём две линейки с разным шагом (одна линейка — 16-минутная, вторая — что-то меньшее).
Находим совпадающие штрихи (одно совпадение — в точке 0, другое — 16*i == t*j).
Находим штрих (j/2) на линейке "t" — он приходится на 8*i и лежит точно посередине между штрихами [i/2] и ]i/2[ на линейке "16".
Но это, естественно, при условии, что j чётно. А если мы совершенно случайно взяли t такое, что оно нечётно (например, t = 16./3)?
На самом деле, если песочные часы способны строго отмерить 8 минут — т.е. количество песчинок в них чётно, то нечётный результат получить невозможно.
Беда лишь в том, что эта нечётность может быть с точностью до одной песчинки.
Например, у нас 16'000'000 песчинок. t = 5'333'333'333 (одна треть).
Каждые 16 минут у нас будет добавляться расхождение в 1 песчинку. То есть, через 8'000'000 циклов мы наконец получим искомый результат.
При этом надо заметить, что погрешности — в измерении момента финиша, в выполнении переворота — существенно больше, чем эта песчинка.
То есть, из-за флуктуаций мы вообще никогда не добьёмся расхождения, а так и будем колбаситься вокруг 16*1==t*3.
Поэтому метод Нониуса в чистом виде неприменим.
Нужна процедура коррекции. Скажем, если мы зафиксировали i=99 (нечётное!), отложили 16*99 и обнаружили, что j = [16*99/t] нечётно, то — с помощью третьих часов отмеряем t1, примерно полуцелое кратное t.
И работаем уже с новым значением t := t1.
После одной-двух коррекций точность превысит погрешности измерений.
Чем меньше количество циклов i, тем больше коррекций придётся совершить.
Чем больше количество циклов, тем большая погрешность измерений (сумма переходных процессов на переворотах). Думаю, что 99 — непозволительно много.
Где-то в районе 5-10 будет достаточно. Опять же, каждый забег — это больше часа. Если больше — замучаешься.
Здравствуйте, samius, Вы писали:
S>Действительно. Освежил знания по маятникам — период не зависит от амплитуды! Но есть шанс, что амплитуда упадет до 0-я менее чем за 16 минут. Тогда будет облом с подсчетом колебаний.
Можно несколько раз перезапустить
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Нэчер, Вы писали:
Н>Здравствуйте, Нэчер, Вы писали: Н>........................................
Как и ожидалось — решение "на глазок"
Н>Неизвестное время t, выступает в роли нашей собственно единицы измерения............ Н>Сразу оговорюсь, t – это целое число, равное секундам или миллисекундам или любым другим единицам измерения, с точностью до которых мы считаем. ........................
Скажите какой хронометр следует использовать чтобы неизвестное время t сделать целым числом.
И вообще странно как-то. Время-целое число. Дла меня это непонятно.
Расскажите метод как получить "время-целое число" имея трое часов по 16. Тогда можно и дальше "решение" почитать.
А может быть сразу сделать неизвестное время t==8.
По моему разумное решение и часы не надо иступлённо переворачивать.
Один разок и готово.
Да и "число" целое.
По-моему моё решение проще и элегантнее.
P.S.
А у меня просто 3 экземпляра идентичных песочных часов.
Никто не знает на какое количество часов, минут и секунд.
Как бы мне отмерить в 1.5 раза больше?
К тому же часы не прозрачные и только сигналят о том что песок закончился.
(это условие подразумевается априори во ВСЕХ задачах о песочных часах)
P.S.S.
Ну не имеет задача решения...
Нету и всё!
.
Это я Вас как математик математика спрашиваю:
Что такое математика?
Один из законов Божьих или это сам Бог и есть? (ХХ век)
Здравствуйте, VMin, Вы писали:
VM>P.S. VM>А у меня просто 3 экземпляра идентичных песочных часов. VM>Никто не знает на какое количество часов, минут и секунд. VM>Как бы мне отмерить в 1.5 раза больше?
VM>К тому же часы не прозрачные и только сигналят о том что песок закончился. VM>(это условие подразумевается априори во ВСЕХ задачах о песочных часах)
См мое решение.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, baily, Вы писали:
B>Кроме того, уверен, что многие до этого догадались, но просто не стали писать, так как все же это решение является решением "на глазок"
Вот не надо. У меня точное решение.
Ессно если допустить что мы можем точно определить момент "песок кончился" и мнгновенно перевернуть/остановить/запустить часы.
Причем сходится оно как правило за время не сильно больше 16 минут.
А если добавить "глазок" и смотреть за тем чтобы rnd.NextDouble() давал примерно 0.5 то варемя схождения будет 16 минут и несколько секунд.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, baily, Вы писали:
B>>Кроме того, уверен, что многие до этого догадались, но просто не стали писать, так как все же это решение является решением "на глазок" WH>Вот не надо. У меня точное решение. WH>Ессно если допустить что мы можем точно определить момент "песок кончился" и мнгновенно перевернуть/остановить/запустить часы. WH>Причем сходится оно как правило за время не сильно больше 16 минут. WH>А если добавить "глазок" и смотреть за тем чтобы rnd.NextDouble() давал примерно 0.5 то варемя схождения будет 16 минут и несколько секунд.
Даже и не знаю, что сказать Вы может знаете, что double имеет ограниченную точность, и что с некоторого момента числа в последовательности 2^(-n) при n стремящемся к бесконечности в double станeт "точно" равнs 0. Но утверждать, что 2^(-n) = 0 с некоторого не очень большого n
Вспоминаю, как то давно, еще в школе, участвовал в олимпиаде, и там была одна простенькая задачка. Существует ли такое натуральное число n, что 1996^n делится на 5. Так нашелся один товарищ, между прочим неглупый, который посчитал на калькуляторе для малых n, чтобы проверить. Проблема в том, что калькулятор у него был 10-тиразрядный. Поэтому уже 1996^3 у него оканчивалось на 0, а потому делилось на 10, а значит и на 5. Убедить его, что это не так, нам так и не удалось. На меня тогда это произвело сильное впечатление
Здравствуйте, baily, Вы писали:
B>Даже и не знаю, что сказать Вы может знаете, что double имеет ограниченную точность,
Знаю.
А песок еще более ограниченную точность. Более того он целочисленный:
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, VMin, Вы писали:
VM>>К тому же часы не прозрачные и только сигналят о том что песок закончился. VM>>(это условие подразумевается априори во ВСЕХ задачах о песочных часах)
WH>См мое решение.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, baily, Вы писали:
B>>Даже и не знаю, что сказать Вы может знаете, что double имеет ограниченную точность, WH>Знаю. WH>А песок еще более ограниченную точность. Более того он целочисленный: WH>Как видишь часы из 1'000'000'000 песчинок быстро сходятся на 500'000'000.
WH>Если добавить "глазок" будет еще быстрее.
WH>Более того можно и дальше делить пополам до тех пор пока остается четное колличество пестинок.
WH>Короче что ни говори, а алгоритм точный.
Совершенно верно, а 2^(-100000000000000000000....0000) точно равно нулю.
Здравствуйте, Кодт, Вы писали:
К>В отличие от водяных часов, песочные идут равномерно (за исключением самого-самого последнего отрезка времени).
Что-то как-то гложат меня смутные сомнения... Хотя утврждать точно не возьмусь...
К>Потому что они не зависят от давления и инерции.
От чего бы?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
К>>Потому что они не зависят от давления и инерции. E>От чего бы?
Свойство есть такое у сыпучих сред. После некоторого уровня у них давление на дно перестаёт расти линейно.
Здравствуйте, baily, Вы писали:
B>Совершенно верно, а 2^(-100000000000000000000....0000) точно равно нулю.
Ты что сказать то хочешь?
Что мой алгоритм не точен? Так он точен что прекрасно демонстрирует целочисленная версия при том что песок также штука целочисленная.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Cyberax, Вы писали:
C>Свойство есть такое у сыпучих сред. После некоторого уровня у них давление на дно перестаёт расти линейно.
Что-то тут не так. А куда же двается вес песка? Неужели передаётся на стенки? Что-то с трудом верится, так как стенки довольно таки скользкие...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Что-то тут не так. А куда же двается вес песка? Неужели передаётся на стенки? Что-то с трудом верится, так как стенки довольно таки скользкие...
Да, передаётся на стенки. От их гладкости и материала тоже зависимость есть.
Например, если взять обычную бочку и наполнить цементом, а потом перевернуть вверх дном — то заметная часть цемента останется внутри бочки. Точно так же и при разгрузке вагонов-хопперов с цементом заметная часть цемента остаётся на стенках.
PS: это я как-то давно занимался халтуркой с рассчётом прочности стенок цилиндрического контейнера для сыпучих грузов.