Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > Задачка о часах


Автор: Самозванка 22.12.2011, 18:40
Вдруг кто хочет подумать. Интересная задача.

У нас есть песочные часы на 5 минут ( в нормальном положении) и песочные часы на 2 минуты ( в лежачем положении, при том мы не знаем по сколько минут в каждой из половинок часов).
Надо отмерить с помощью этих часов 8 минут. Отсчет начинается сразу как вы начинаете манипуляции с часами.

Автор: ksnk 22.12.2011, 18:54
Самозванка, 
а какие проблемы?
0m: ставим 5 мин и 2 минуты одновременно
2m: переворачивает 2m
4m: переворачиваем  2m
5m: переворачиваем  2m
6m: переворачивает 2m
8m: профит

Автор: Самозванка 22.12.2011, 19:00
ksnk, 
Цитата(Самозванка @  22.12.2011,  18:40 Найти цитируемый пост)
песочные часы на 2 минуты ( в лежачем положении, при том мы не знаем по сколько минут в каждой из половинок часов)


Автор: CompWorm 22.12.2011, 19:10
  • в двухминутке сверху икс минут снизу игрик.
  • заряжаем пять минут, одновременно ссыпаем 2 минутные в одну сторону.
  • когда двухминутка ссыпалась, в пятиминутных сверху мы имеем 5-икс минут.
  • переворачиваем двушку и через две минуты сверху в пятиминутке 3-икс, что равно 1+игрик, снизу 2+икс = 4-игрик.
  • переварачиваем оба девайса, ждём 2 минуты и ещё раз переворачиваем 2хминутки и ждём 2 минуты.
  • теперь в 5 минутных остался игрик и прошло 6+икс минут.
  • ждём игрик из мятиминутки м получаем 8 минут.

Автор: ksnk 22.12.2011, 19:40
0m: (5=5,2=x) ставим 5 мин и 2(x) минуты одновременно
Xm: (5=5-x,2=0)переворачиваем 5m 
2Xm (5=0,2=2-X) переворач 5 
2+Xm: (5=2-X,2=0) переворач  5, ложим на бок 2
4m: (5=0) ставим 2
6м: ставим 2
8m: профит

Автор: CompWorm 22.12.2011, 19:54
Цитата(ksnk @  22.12.2011,  19:40 Найти цитируемый пост)
переворачиваем 5m 
2Xm (5=0,2=2-X)

это как? если в пятиминутке ноль, то в двухминутке и подавно ноль!

Добавлено через 2 минуты и 3 секунды
хотя круто! положить на бок я не допёр)))

Автор: ksnk 22.12.2011, 19:57
Цитата(CompWorm @  22.12.2011,  19:54 Найти цитируемый пост)
это как? если в пятиминутке ноль, то в двухминутке и подавно ноль! 

Неее!
Во время 2X в 2-X минутке оттикало X минут второй раз. и осталось 2-X. Мы отмеряем 2-X сначала остатком песка в 2-х минутке, а потом оттикавшим в 5-минутке песком. Получается 4 минуты всего...

Автор: CompWorm 22.12.2011, 20:03
Цитата(ksnk @  22.12.2011,  19:57 Найти цитируемый пост)
Во время 2X в 2-X минутке оттикало X минут второй раз.

а, тогда ты просто с записями попутал. смотри, у тебя на времени 2х должно быть состояние часов в точности как в самом начале, то есть не 
(5=0,2=2-X), а (5=5,2=x)... или наоборот, лучше я думаю в нулевом момекнте поправить и сделать (5=0,2=2-X)

Автор: ksnk 22.12.2011, 20:21
Не-не не!  smile 
http://s2.ipicture.ru/

Автор: CompWorm 22.12.2011, 20:22
а! дошло! если я правильно тебя понял, идея такая была:
0m: (5=5, 2=2-x) ставим 5 мин и 2(x) минуты одновременно
Xm: (5=5-x, 2=0) обе в обратную сторону.
2Xm (5=5, 2=2-X) вернулись в исходное положение. оно аналогично 
 ~ (5=5, 2=2-Y) теперь наоборот ссыпаем игрик
Ym+2Xm(5=5-Y, 2=0) и в исходное положение ссыпаем только 5m
2Ym+2Xm(5=5, 2=0) что аналогично
 ~4m (5=5, 2=0) два раза крутим двушку
8m: профит  smile 

так даже проще... только мне кажется, у тебя другое решение

Добавлено через 1 минуту и 3 секунды
я не видел твою табличку... тогда я придумал третье решение))))))))) ха ха)))

Автор: Akella 23.12.2011, 15:14
 smile  smile 

Автор: CompWorm 26.12.2011, 08:38
Самозванка, приз фстудию!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)