Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Пятница... Опять задачки ;)   Найти похожие ветки 

 
MBo ©   (2004-04-30 10:40) [0]

1. Трехмерный куб. Его граням в соответствие ставятся некоторые натуральные (ненулевые) числа. Затем каждой вершине в соответствие ставится число, равное произведению чисел, приписанных тем граням, которые выходят из данной вершины. Затем по всем вершинам соответствующие числа суммируются. Можно ли по данной сумме восстановить сумму чисел по граням (и существует ли соответствующая расстановка?), если полученное число -- 71? А если 70? Если да, то какие могут быть расстановки?

2. В колоде 52 карты. Зрители вытаскивают 5 произвольных карт. Помошник по своему усмотрению выбирает из них 4 карты и выкладывает их в один ряд на стол. Пятая карта откладывается в сторону рубашкой вверх. Выходит экстрасенс и называет пятую карты. Как?

3. Путник вышел в поход из дому в 6 00 утра взошел на вершину горы по тропе в 19 00, переночевал на вершине и в 7 00 утра начал обратный путь домой по той же тропе и в 20 00 попал домой.
Было ли на тропе то место, где путник побывал в одно и то же время (разных суток) ?

4. Пусть сумма цифр некоторого целого числа равна 2003. Может ли это число быть полным квадратом?

5. Лодка находится в маленьком бассейне. В ней лежит здоровенная чугунная гиря. Если гирю сбросить в воду - уровень воды в бассейне повысится, понизится или не изменится?

6. Парусная лодка находится у берега реки. Возможно ли в полный штиль переплыть на другой берег, не используя весел?

7. Мужик ежедневно приезжает на электричке в одно время, и его встречала жена на машине. Однажды он приехал на час раньше, не хотел ждать, и пошел пешком. На пути его встретила жена, в результате они вернулись домой на 20 минут раньше обычного. Сколько времени он шел пешком?

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

9. На вершине отвесной скалы высоты 1000 метров стоит альпинист. У него есть нож и веревка длины 750 метров. На вершине скалы и посередине ее высоты вбиты прочные крюки. Может ли альпинист спуститься со скалы живым?


 
Vlad Oshin ©   (2004-04-30 10:49) [1]


> 2. В колоде 52 карты. Зрители вытаскивают 5 произвольных
> карт. Помошник по своему усмотрению выбирает из них 4 карты
> и выкладывает их в один ряд на стол. Пятая карта откладывается
> в сторону рубашкой вверх. Выходит экстрасенс и называет
> пятую карты. Как?

жульничает как-то, имхо


> 3. Путник вышел в поход из дому в 6 00 утра взошел на вершину
> горы по тропе в 19 00, переночевал на вершине и в 7 00 утра
> начал обратный путь домой по той же тропе и в 20 00 попал
> домой.
> Было ли на тропе то место, где путник побывал в одно и то
> же время (разных суток) ?

да


> 5. Лодка находится в маленьком бассейне. В ней лежит здоровенная
> чугунная гиря. Если гирю сбросить в воду - уровень воды
> в бассейне повысится, понизится или не изменится?

понизиться, имхо


> 6. Парусная лодка находится у берега реки. Возможно ли в
> полный штиль переплыть на другой берег, не используя весел?

да, река должна круто поворачивать


 
Ega23 ©   (2004-04-30 10:52) [2]

5. Лодка находится в маленьком бассейне. В ней лежит здоровенная чугунная гиря. Если гирю сбросить в воду - уровень воды в бассейне повысится, понизится или не изменится?

ИМХО, понизится.


 
MBo ©   (2004-04-30 10:55) [3]

>жульничает как-то, имхо
Нет.

>да, река должна круто поворачивать
Нет.

>да
>понизится.
Обоснование?


 
Danilka ©   (2004-04-30 10:57) [4]

[3] MBo ©   (30.04.04 10:55)

> >жульничает как-то, имхо
> Нет.

вероятно, можно взаимным расположением 4-х произвольных карт закодировать 5-ю карту?


 
eukar ©   (2004-04-30 10:59) [5]

6. Парусная лодка находится у берега реки. Возможно ли в полный штиль переплыть на другой берег, не используя весел?

Перевернуть лодку?


 
Vlad Oshin ©   (2004-04-30 10:59) [6]


> >да
> >понизится.
> Обоснование?

меньший объем будет под водой находиться


 
MBo ©   (2004-04-30 10:59) [7]

>Danilka
Я эту, честно говоря, не решил ;)
Одного бита информации мне не хватает :(


 
MBo ©   (2004-04-30 11:00) [8]

>Перевернуть лодку?
Нет

>меньший объем будет под водой находиться
Не понял


 
Соловьев ©   (2004-04-30 11:00) [9]


> 5. Лодка находится в маленьком бассейне. В ней лежит здоровенная
> чугунная гиря. Если гирю сбросить в воду - уровень воды
> в бассейне повысится, понизится или не изменится?

Понизится, так как лодка была погружена под массой гири. А когда гирю бросили в вводу, то лодка полегчала и стала более плавучей :)


 
MBo ©   (2004-04-30 11:05) [10]

>лодка полегчала и стала более плавучей :)
;)


 
Ega23 ©   (2004-04-30 11:05) [11]

У лодки объём гораздо дольше, чем у гири. Предположим, объём гири - кубометр. Тогда её масса - 7 с волосьями тонн. Прикиним объём лодки : 3 x 1,5 x 0,7 ~ 3 кубометра. А теперь представь, что ты кладёшь в лодку 7 тонн груза :о) (Эх, мне бы такую лодку....)


 
Vlad Oshin ©   (2004-04-30 11:06) [12]


> MBo ©   (30.04.04 11:00) [8]


> Понизится, так как лодка была погружена под массой гири.
> А когда гирю бросили в вводу, то лодка полегчала и стала
> более плавучей :)

гиря плавала, т.е. больше лодки было под водой, нежели когда утонула гиря(даже с учетом объема гири)


> > >жульничает как-то, имхо
> > Нет.
>
> вероятно, можно взаимным расположением 4-х произвольных
> карт закодировать 5-ю карту?

вот я и говорю, жульничает
Подобная задача у Гарднера решалась тем, что недостающий бит заменял человек(а их было 2, на самом деле), который приходил после опыта. Т.е. фокусник мог пригласить одного ил другого


 
MBo ©   (2004-04-30 11:12) [13]

>гиря плавала, т.е. больше лодки было под водой, нежели когда утонула гиря(даже с учетом объема гири)

Хм... Неаккуратно как-то ;)

>Подобная задача у Гарднера решалась тем, что недостающий бит заменял человек

Точно эта задача? Решения я не видел, однако утверждалось, что оно существует и математическое.


 
Соловьев ©   (2004-04-30 11:14) [14]


> MBo ©   (30.04.04 11:05) [10]

ну т.е. стала меньше выдавливать воды. А гиря имеет большую плотность. Т.е. с учетом того что она здоровенная она будет по закону Архимеда меньше выдавливать воды чем лодка с гирей.


 
Ega23 ©   (2004-04-30 11:14) [15]

3. Путник вышел в поход из дому в 6 00 утра взошел на вершину горы по тропе в 19 00, переночевал на вершине и в 7 00 утра начал обратный путь домой по той же тропе и в 20 00 попал домой.
Было ли на тропе то место, где путник побывал в одно и то же время (разных суток) ?

На какой долготе дело происходит? Пересечения часовых поясов на пути встречаются?


 
Соловьев ©   (2004-04-30 11:26) [16]


> 9. На вершине отвесной скалы высоты 1000 метров стоит альпинист.
> У него есть нож и веревка длины 750 метров. На вершине скалы
> и посередине ее высоты вбиты прочные крюки. Может ли альпинист
> спуститься со скалы живым?

может это экстрим? :)
на вершине привязать веревку. пустить ее вниз. долезть до середины привязать опять. полезьть до середины вверх. там перезать ножем веревку и держась за веревку(крепко :))упасть на ней в низ до земли не достанем. потом поднятся вверх - это середина скалы. там уже привязяна веревка отрезать еще раз -  т.е. получим два куска, ну и спустится вниз на 250 метров, там привязать кусок который 250 ну и спустится на землю. Правда не знаю - я бы не пригнул с 250 метров :)))


 
Ega23 ©   (2004-04-30 11:27) [17]

Правда не знаю - я бы не пригнул с 250 метров :)))

Разорвёт напополам  :-(


 
Рамиль ©   (2004-04-30 11:28) [18]

5.Уровень воды понизится. Если внутри лодки, то вытеснится ровно столько воды, сколько весит гиря. А если вне лодки, то вытеснится только по объему гири, плотность которой больше плотности воды. Это все при условии, что лодка с гирей не тонет))


 
Vlad Oshin ©   (2004-04-30 11:31) [19]


> Точно эта задача? Решения я не видел, однако утверждалось,
> что оно существует и математическое.

Задача примерно такая
я тоже не увидел одного бита, и тут же про нее вспомнил
как-то бит получается значит? Можть расстановкой карт, можть еще чем.

Гарднер в той задачи описывал слет картежных математиков, и вот тоже так все думали как последнее да/нет передается
Ну, вроде все исключили(карты передавал другой человек, предварительно покурили(временной код сбить), и т.д.)
А фокусник просто звал первого или второго ассистента


 
Соловьев ©   (2004-04-30 11:32) [20]


> Правда не знаю - я бы не пригнул с 250 метров :)))

даже не 250, а 500 :(


 
Соловьев ©   (2004-04-30 11:33) [21]


> Сколько времени он шел пешком?

40
1 час раньше - 20 минут = 40 мин


 
Vlad Oshin ©   (2004-04-30 11:44) [22]


> На вершине отвесной скалы высоты 1000 метров стоит альпинист.
> У него есть нож и веревка длины 750 метров. На вершине скалы
> и посередине ее высоты вбиты прочные крюки. Может ли альпинист
> спуститься со скалы живым?

да, спускается на 1/2, привязавает к крюку, поднимается, отрезает, падает, спускается до земли


 
Соловьев ©   (2004-04-30 11:44) [23]


> Соловьев ©   (30.04.04 11:33) [21]

наверное нет... :(


 
Nikolay M. ©   (2004-04-30 11:50) [24]


> 9. На вершине отвесной скалы высоты 1000 метров стоит альпинист.
> У него есть нож и веревка длины 750 метров. На вершине скалы
> и посередине ее высоты вбиты прочные крюки. Может ли альпинист
> спуститься со скалы живым?

Садисткое решение получается :)
он спускается до серединного крюка, отрезает оставшиеся 250м, привязывается этим куском к крюку, лезет на 250м, вверх и отрезает веревку (!):))), падает с высоты 500м, если остается вживых, привязывает отрезанный кусочек 250м, спускается вниз и ждет санитаров :)


 
Nikolay M. ©   (2004-04-30 11:53) [25]


> 6. Парусная лодка находится у берега реки. Возможно ли в
> полный штиль переплыть на другой берег, не используя весел?

Если лодка поплывет по течению, значит будет некоторое движение, относительно неподвижного воздуха, значит парусом можно будет немного рулить?


 
Думкин ©   (2004-04-30 11:54) [26]


> Vlad Oshin ©   (30.04.04 11:44) [22]
> Соловьев ©   (30.04.04 11:32) [20]

А зачем так рано отрезать?
Я бы долез до верха и кроме 1 метра отрезал - в метре от земли остановился - прыгнул. :))))))


 
Nikolay M. ©   (2004-04-30 11:56) [27]


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

Не поняла? ЛЮБОЙ можно разбить на 4, а именно ОСТРОУГОЛЬНЫЙ - на 3? В том плане, что остроугольный можно разбить и на 3, и на 4?


 
Vlad Oshin ©   (2004-04-30 12:01) [28]


> Думкин ©   (30.04.04 11:54) [26]

можно еще поднять и перезавязать, или еще как покомбинировать


 
MBo ©   (2004-04-30 12:01) [29]

5. Рамиль ©   (30.04.04 11:28) [18] и Соловьев ©   (30.04.04 11:14) [14]
Верно.

>На какой долготе дело происходит? Пересечения часовых поясов на пути встречаются?

Нет


 
yuryzh   (2004-04-30 12:01) [30]

Отрезаем 250 метров. Один конец привязываем к вершине, на другом петля. Через нее пропускаем 500 метров пополам. Спускаемся до среднего крюка и вынимаем 500 метров веревки, чтобы спуститься до земли. Вот и все.


 
MBo ©   (2004-04-30 12:03) [31]

>ЛЮБОЙ можно разбить на 4, а именно ОСТРОУГОЛЬНЫЙ - на 3? В том плане, что остроугольный можно разбить и на 3, и на 4?

Для остроугольного минимум 3, для тупоуг. - 4.


 
MBo ©   (2004-04-30 12:08) [32]

>yuryzh   (30.04.04 12:01) [30]
Верно.


 
Sha ©   (2004-04-30 12:09) [33]

9. Альпинист:
- режет веревку на две части 250 (лучше чуть больше) и 500 (лучше чуть меньше),
- кусок 250 одним концом привязывает к вернему крюку, на другом конце делает петлю,
- через петлю продевает кусок 500 до середины,
- спускается до нижнего крюка и фиксируется,
- протягивает кусок 500 через петлю,
- привязывает кусок 500 к крюку,
- спускается до земли (или чуть выше).


 
SergP ©   (2004-04-30 12:16) [34]


> 9. На вершине отвесной скалы высоты 1000 метров стоит альпинист.
> У него есть нож и веревка длины 750 метров. На вершине скалы
> и посередине ее высоты вбиты прочные крюки. Может ли альпинист
> спуститься со скалы живым?


привязывает к верхнему крюку, спускается к нижнему крюку,
затем нижний конец привязывает к этому крюку. Снова лезет наверх (на 250м). Режет веревку. (получается верхний кусов 250м, и нижний 500м) Делает петлю. Просовавает через петлю нижний кусок веревки. Спускается до нижнего крюка, отпускает конец веревки и вытягивает ее из петли, а затем уже спускается по ней вниз....


 
MBo ©   (2004-04-30 12:17) [35]

>Nikolay M. ©   (30.04.04 11:53) [25]
Развей мысль далее


 
Nikolay M. ©   (2004-04-30 12:22) [36]


> MBo ©   (30.04.04 12:17) [35]
> >Nikolay M. ©   (30.04.04 11:53) [25]
> Развей мысль далее

А что там развивать? Если двигаться на лодке по течению вперед относительно ветра, парус поставить под ~45 градусов по направлению к движение (ну или сколько нужно, чтобы лодку не начало крутить), то понемногу лодку "сдует" к противоположному берегу. Или есть еще что-то, что я пока не вижу?


 
MBo ©   (2004-04-30 12:27) [37]

>Nikolay M. ©   (30.04.04 12:22) [36]
Ну в общем так.
Штиль есть отсутствие ветра относительно земли. Лодка же находится на течении реки, в этой системе координат существует движение воздуха, так что, так как ты сказал, или галсами можно переплыть реку.


 
SergP ©   (2004-04-30 12:30) [38]


> Sha ©   (30.04.04 12:09) [33]


Мля... У тебя лучше получилось... А то у меня ему еще и вверх придется лезть...


 
Nikolay M. ©   (2004-04-30 12:31) [39]


> MBo ©   (30.04.04 12:27) [37]

Собственно в [25] это все и подразумевалось :)
А чем то, что я сказал, отличается от галсов? Имхо, у меня это просто их частный случай - нужно ведь не движение вперед, а всего лишь боковая составляющая силы?


 
Sha ©   (2004-04-30 12:31) [40]

SergP ©   (30.04.04 12:30) [38]

У yuryzh   (30.04.04 12:01) [30] быстрее :(


 
SergP ©   (2004-04-30 12:34) [41]


> Sha ©   (30.04.04 12:31) [40]


Хм... А его я как-то даже и не заметил....


 
Думкин ©   (2004-04-30 12:35) [42]

А что такое тогда - штиль?


 
Думкин ©   (2004-04-30 12:36) [43]

> MBo ©   (30.04.04 12:27) [37]
> >Nikolay M. ©   (30.04.04 12:22) [36]
> Ну в общем так.
> Штиль есть отсутствие ветра относительно земли.

Да? А посреди океана - штиль - это как?


 
MBo ©   (2004-04-30 12:40) [44]

>Nikolay M. ©   (30.04.04 12:31) [39]
Да все верно, я просто чуть другую формулировку на всякий случай дал.

>Думкин ©
А ты коварный ;)


 
Opuhshii ©   (2004-04-30 12:42) [45]

1
если 70 - 9 сторон по 2, 1 по 6 и 2 по 1,..

5
имхо неизменится,.
6
можно тк река


 
Sha ©   (2004-04-30 12:45) [46]

2-ая задача неразрешима, если считать, что результат кодируется только взаимным расположением 4-х карт, т.к.:
- возможно перестановок = (4!)=24
- оставшихся карт = 48
=> Есть еще что-то, например, положение отложенной карты слева/справа от раскрытых.


 
Sha ©   (2004-04-30 12:57) [47]

5-ая

Рассмотрим лодку без гири. Запомним уровень воды.
1. Бросим гирю с берега в воду. Уровень воды повысится на V1/S, где V1- объем гири, S-площадь бассейна.
2. Положим гирю в лодку. Уровень воды повысится на V2/S, где V2- увеличение объема погруженной части лодки = объему воды, имеющему вес, равный весу гири, S-площадь бассейна. V2>V1, т.к. плотность воды менше чугуна.

Значит, уровень воды при выбрасывании гири из лодки понизится.


 
MBo ©   (2004-04-30 12:57) [48]

>Opuhshii ©   (30.04.04 12:42) [45]
подбором?
5 - неверно, понизится - решение уже в [14,18]

>Sha ©   (30.04.04 12:45) [46]
Решения не знаю. Там, где увидел эту задачу, утверждалось, что существует математическое решение (но не приведено), т.е. из 5 карт 4 выбираются по такому закону, что еще что-то можно определить (недостающий бит)
Одна из моих неудачных попыток: обозначим масти 0,1,2,3
Тогда 5 карт могут составлять наборы (несущественно, какие именно масти, важно лишь относительное количество)
a: 00000 b:00001 c:00011 d:00012 e:00112 f: 00123
(f, например, означает, что 2 карты одной масти, остальные других по одной)

убирая по одной, можно получить из a
a1,a1: 0000

b1:0000
b2:0001

c1:0001
c2:0011

d1:0001
d2:0012 (0002 c точки зрения того, кто видит лишь 4 карты - равносильно 0001)

e1:0011
e2:0012

f1:0012
f2:0123
12 вариантов, которые, увы, нельзя разделить на две независимых группы по 6


 
@lex ©   (2004-04-30 12:59) [49]

2) он же экстрасекс :)))


 
Ega23 ©   (2004-04-30 13:00) [50]

7. Мужик ежедневно приезжает на электричке в одно время, и его встречала жена на машине. Однажды он приехал на час раньше, не хотел ждать, и пошел пешком. На пути его встретила жена, в результате они вернулись домой на 20 минут раньше обычного. Сколько времени он шел пешком?

50 минут.


 
Alx2 ©   (2004-04-30 13:02) [51]

4. Не может. У квадарата последняя цифра должна быть только из набора 1,4,5,6,9


 
Alx2 ©   (2004-04-30 13:03) [52]

Мой пост Alx2 ©   (30.04.04 13:02) [51]  прошу считать гоном :))
Невнимательно прочитал условие :))


 
MBo ©   (2004-04-30 13:09) [53]

>Ega23 ©  50 минут.
Верно (Решение опирается на то, что 20 выигранных минут складываются из 10, которые жена не доехала и 10, которые не возвращалась)


 
Ega23 ©   (2004-04-30 13:10) [54]

MBo ©   (30.04.04 13:09) [53]

Ага. Это из Гарднера (если мне память не изменяет) задачка.
Там много было ещё разных интересных.


 
Sha ©   (2004-04-30 13:11) [55]

MBo ©   (30.04.04 12:57) [48]

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


 
Ega23 ©   (2004-04-30 13:21) [56]

А вот ещё одна задачка:
Есть тёмная комната без окон с одной дверью. В комнате висит выключенная лампочка. Вне комнаты находятся 3 выключателя. В комнату войти можно только один раз.
Вопрос: как однозначно определить какой выключатель соединён с лампочкой?


 
MBo ©   (2004-04-30 13:27) [57]

еще предположение по картам:
Пусть номера карт a b c d e
Тогда (поскольку остается 47 карт), то лишь один промежуток (либо двойной промежуток типа a-c) может включать в себя более 24 карт, остальные меньше. Может, на этом удастся сыграть.


 
infom ©   (2004-04-30 13:28) [58]

Решил задачу :
3. Путник вышел в поход из дому в 6 00 утра взошел на вершину горы по тропе в 19 00, переночевал на вершине и в 7 00 утра начал обратный путь домой по той же тропе и в 20 00 попал домой.
Было ли на тропе то место, где путник побывал в одно и то же время (разных суток) ?

Получился ответ: Было , это время 13 часов
Решаю остальные...


 
infom ©   (2004-04-30 13:31) [59]

Решил задачу :
5. Лодка находится в маленьком бассейне. В ней лежит здоровенная чугунная гиря. Если гирю сбросить в воду - уровень воды в бассейне повысится, понизится или не изменится?
Уровень воды неизмениться
Когда гиря находилась в лодке она под действием силы тяжести выталкивала столько же воды, сколько находясь на дне (Закон Архимеда)


 
Думкин ©   (2004-04-30 13:33) [60]


> infom ©   (30.04.04 13:31) [59]

И при этом гиря плавает?


 
MBo ©   (2004-04-30 13:33) [61]

>infom    это время 13 часов
Не факт.


 
Ega23 ©   (2004-04-30 13:34) [62]

Закон Архимеда сформулируй... Только правильно.


 
Ega23 ©   (2004-04-30 13:35) [63]

Э, а про мужика-путешественника: а он с одинаковой скоростью ходит?


 
MBo ©   (2004-04-30 13:36) [64]

>Э, а про мужика-путешественника: а он с одинаковой скоростью ходит?
Неизвестно.


 
infom ©   (2004-04-30 13:37) [65]

как помню закон Архимеда
Тело погруженное в воду теряет в массе ровно столько сколько весит вытолкненная вода


 
infom ©   (2004-04-30 13:38) [66]


> Э, а про мужика-путешественника: а он с одинаковой скоростью
> ходит?

У них с женой однозначно разные скорости
Жена тормозит..


 
Думкин ©   (2004-04-30 13:41) [67]


> MBo ©   (30.04.04 13:36) [64]

И не важно.


 
MBo ©   (2004-04-30 13:45) [68]

>Думкин ©   (30.04.04 13:41) [67]
И решение (возможное) чем-то теорему Ролля напоминает ;)


 
Ega23 ©   (2004-04-30 13:49) [69]

Тело погруженное в воду теряет в массе ровно столько сколько весит вытолкненная вода

2 балла.  Даже единица.


 
infom ©   (2004-04-30 13:57) [70]


> Ega23 ©  


А как правильно
Сам сформулируй


 
Ega23 ©   (2004-04-30 14:03) [71]

Тело, погружённое в жидкость (или газ) теряет в ВЕСЕ столько, сколько весит вытесненная им жидкость (газ).


 
infom ©   (2004-04-30 14:11) [72]

Чисто автоматически написал МАССА хотя конечно же имел в виду ВЕС
Тем не менее неужели я так уж и не прав с решением [59]?


 
MBo ©   (2004-04-30 14:15) [73]

>infom
>Тем не менее неужели я так уж и не прав с решением [59]?
Неправ. Гиря в лодке - НЕ погружена в воду.
Решение уже приведено.


 
Akni ©   (2004-04-30 14:23) [74]


> Ega23 ©   (30.04.04 13:21) [56]


Включить 2 выключателя, через некоторое время один выключить.
Зайти в комнату. Если лампочка горит, то она включ. тем выкл., который включен. Если она выключена и нагретая, то тем, который включили, а потом выключили. Если выключена и холодная - то выключатель, кот. не включали


 
Рамиль ©   (2004-04-30 14:24) [75]


> infom ©   (30.04.04 14:11) [72]

Кстати, решение меняется, если плотность материала гири равна или меньше плотности воды, тогда уровень неизменится. Но чугун никак к этим условиям не подходит:)


 
Ega23 ©   (2004-04-30 14:33) [76]

Включить 2 выключателя, через некоторое время один выключить.
Зайти в комнату. Если лампочка горит, то она включ. тем выкл., который включен. Если она выключена и нагретая, то тем, который включили, а потом выключили. Если выключена и холодная - то выключатель, кот. не включали

В принципе верно, только вначале включаешь не 2, а один. Минут на несколько. Потом его выключаешь и включаешь второй и заходишь в комнату. если горит - то работает выключатель №2. Если не горит, но тёплая - выключатель №1. Если не горит и холодная - выключатель №3.


 
MBo ©   (2004-04-30 14:35) [77]

Пока не решены задачи 3,8 - простые, и 1,4 - несколько посложнее


 
Alx2 ©   (2004-04-30 15:13) [78]

4. Все-таки не может. Цифровой корень = 5, а должен быть для квадрата 1,4,7,9


 
McSimm ©   (2004-04-30 15:24) [79]

Получил большое удовольствие от решения задачки про пешехода.
Класс, спасибо :)


 
Alx2 ©   (2004-04-30 15:26) [80]

3. Будет. Так как возрастающая и убывающая функции его перемещения обязательно пересекуться. В случае постоянства скорости это время будет 13 часов.


 
GuAV   (2004-04-30 15:26) [81]


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


Остроугольный описываем окружностью => бедра равны как радиусы;

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


 
Alx2 ©   (2004-04-30 15:28) [82]

8. В остроугольном треугольнике достаточно центра описанной окружности для разбиения. Получим три равнобедренных треугольника. "Бедрами" будут радиусы окружности, проведенные в вершины


 
Alx2 ©   (2004-04-30 15:29) [83]

>GuAV   (30.04.04 15:26)
Не успел я :))


 
Alx2 ©   (2004-04-30 15:33) [84]

2. Недостающий бит можно взять из расположения пятой карты (слева или справа от открытых карт ее располагать). Тогда получим 48 комбинаций, что достаточно.


 
Sha ©   (2004-04-30 15:39) [85]

> MBo ©   (30.04.04 13:45) [68]
>  решение (возможное) чем-то теорему Ролля напоминает ;)

А Ролль-то что пополам делил? Не помню...


 
MBo ©   (2004-04-30 15:43) [86]

Alx2 ©   (30.04.04 15:13) [78]
4. Все-таки не может. Цифровой корень = 5, а должен быть для квадрата 1,4,7,9

Верно, не может. Сам я решал с арифметикой по модулю 3 (как самое простое школьное правило о сумме цифр)

для n=3k n^2=9k^2, т.е. сумма цифр=0(mod 3)
для n=3k+1 n^2=9k^2+6k+1, СЦ=1 (mod 3)
для n=3k+2 n^2=9k^2+12k+4, СЦ=1 (mod 3)
т.е, число с сумой цифр=2(mod 3),а именно, 2003, не подходит


 
Alx2 ©   (2004-04-30 15:49) [87]

>MBo ©   (30.04.04 15:43) [86]

Просто как оказалось :)

А меня натолкнула комутативность корня. Осталось посчитать корни для квадратов чисел 1..9. Получилось нехилое правило для определения "квадратности" числа. Правда, оно необходимое, но недостаточное.


 
MBo ©   (2004-04-30 15:54) [88]

>А Ролль-то что пополам делил? Не помню...
Да просто навеяло - если графически решать про путника, то картинка смахивает на то, как т.Ролля изображается иногда (про то,что если на концах интервала непрерывная функция имеет разные знаки, то в нек. точке обязательно будет =0)

про пешехода есть еще одно красивое решение - представим, что у нас 2 человека - один вверху, другой внизу. Ясно, что они встретятся ;)


 
MBo ©   (2004-04-30 15:56) [89]

про треугольники решили, осталась 1. про куб.


 
Alx2 ©   (2004-04-30 15:57) [90]

К посту Alx2 ©   (30.04.04 15:49):
Комутативность приплел я зря. Забывать начал :)
Имелось в виду f(a+b)=f(f(a)+f(b))


 
default ©   (2004-04-30 16:01) [91]

про карты
получили мы значит пять карт
перестановками 4 карт можно задать 24 карты, а нам нужно задать
48 карт, ровно в два раза больше, то есть нужно где-то всего лишь иметь "битовый флаг", можно получить эту инфу, например, положив карту-загадку слева или справа от открытого ряда из 4 карт


 
MBo ©   (2004-04-30 16:07) [92]

>default ©
Возможно, есть и честное математическое решение, но я пока не знаю.


 
int64   (2004-04-30 16:07) [93]

Alx2 ©   (30.04.04 15:33) [84]

> 2. Недостающий бит можно взять из расположения пятой карты
> (слева или справа от открытых карт ее располагать). Тогда
> получим 48 комбинаций, что достаточно.

Прибавь выше-ниже, параллельно-перпендикулярно... Это ещё два бита.
Имхо, не есть решение.


 
Alx2 ©   (2004-04-30 16:11) [94]

>int64   (30.04.04 16:07) [93]
Почему? Предыдущий пост подробно описал решение.
Все карты имеют разное достоинство. Их можно занумеровать по-возрастанию. Сразу получаем способ кодировки. 24 комбинации из 4 карт + расположение пятой. Итого 48. Или бесконечность, если выше-ниже, под углом и т.п. :))


 
default ©   (2004-04-30 16:11) [95]

ой а я и не видел что про расположение уже писали...


 
int64   (2004-04-30 16:24) [96]

Alx2 ©   (30.04.04 16:11) [94]
Нет, маяков левых быть не должно. Не красиво. Представь, что всё виртуално. Сенс видит карты на мониторе.


 
Думкин ©   (2004-04-30 17:46) [97]


> [77] MBo ©   (30.04.04 14:35)

Не обманывай 8- я решил тебе и ответ написал. :)


 
MBo ©   (2004-04-30 18:00) [98]

>Думкин ©   (30.04.04 17:46) [97]
>Не обманывай 8- я решил тебе и ответ написал. :)
Ну в ветке в момент написания же еще не было решения ;)

И про первую в аське с Opuhshii разобрались, но здесь еще не приведено решение.


 
Думкин ©   (2004-04-30 18:12) [99]


> [98] MBo ©   (30.04.04 18:00)

Согласен. Но и по "путешественнику" красиво. Ролль - мне больше Вейерштрасс - вторая теорема о непрерывности.


 
SergP ©   (2004-04-30 18:13) [100]


> Когда гиря находилась в лодке она под действием силы тяжести
> выталкивала столько же воды, сколько находясь на дне (Закон
> Архимеда)


М-да.... Однако.... :-))) Это может быть верным только если плотность гири равна плотности воды....


> Ega23 ©   (30.04.04 13:21) [56]
> А вот ещё одна задачка:
> Есть тёмная комната без окон с одной дверью. В комнате висит
> выключенная лампочка. Вне комнаты находятся 3 выключателя.
> В комнату войти можно только один раз.
> Вопрос: как однозначно определить какой выключатель соединён
> с лампочкой?


Включаем два из выключателей...(например В1 и В2) Ждем несколько минут, выключаем один (В2) и заходим в комнату.

begin
if (лампочка горит)
   then выключатель:=В2
   else if (лампочка на ощупь гарячая)
           then выключатель:=В1
           else выключатель:=В3;
end;


 
SergP ©   (2004-04-30 18:16) [101]


> Akni ©   (30.04.04 14:23) [74]


Блин. Не заметил...
Хотя эту задачу уже когда-то видел


 
Думкин ©   (2004-04-30 18:21) [102]


> [100] SergP ©   (30.04.04 18:13)

Нет. И при меньше и равно. Правда...есть одно но - найдите.


 
default ©   (2004-04-30 18:48) [103]

"3. Будет. Так как возрастающая и убывающая функции его перемещения обязательно пересекуться. В случае постоянства скорости это время будет 13 часов.
"
всем
Вы уверены в этом?
допустим если V=1км/ч
по дороге на Эверест к 7 часам путник пройдёт метр, по дороге с Эвереста к 8 часам тоже пройдёт метр, ...как выполнится условие задачи-то?разве что если на каком-то пути путник возьмёт и почешет как заяц...а это при постоянной скорости невозможно
а в общем случае она по-моему неразрешима...


 
Думкин ©   (2004-04-30 18:55) [104]


> [103] default ©   (30.04.04 18:48)

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


 
McSimm ©   (2004-04-30 18:57) [105]


> Вы уверены в этом?

Уверен


> к 7 часам путник пройдёт метр

Условие задачи смотрим. Нам известно, что "взошел на вершину горы по тропе в 19:00"


> а это при постоянной скорости невозможно

А про постоянную скорость в условии ничего нет. Это необязательно.


> а в общем случае она по-моему неразрешима...

Задачу можно свести к такой:
Первый путник в 6:00 утра вышел из А и в 19:00 пришел в B
Второй путник в 7:00 утра вышел из B и в 20:00 пришел в A
Вопрос: Встретятся ли они?


 
default ©   (2004-04-30 19:11) [106]

McSimm ©   (30.04.04 18:57) [105]
7 утра подразумевалось
а постоянная скорость к примеру
Думкин ©   (30.04.04 18:55) [104]
да
P.S. можно нарисовать любую линию на бумаге(без циклов)
и разделить её на равные отрезки и сверху слева направо подписать время в которое путник будет на этом месте при заходе в гору; и тоже самое справа налево при спуска с горы(подписываем внизу)
видно будет невозможность того что в одно и тоже время путник будет находиться в одном месте(при заходе и спуске с горы)
(это для постоянной скорости)
ИМХО, на задачу можно дать ответ только если заданы уравнения движения


 
Думкин ©   (2004-04-30 19:13) [107]

> [106] default ©   (30.04.04 19:11)

Вы вроде на матемаатика учитесь, а такое пишите. Сессии хотя бы убоитесь.


 
McSimm ©   (2004-04-30 19:25) [108]



 
Думкин ©   (2004-04-30 19:27) [109]

> [108] McSimm ©   (30.04.04 19:25)

Вот она сила модератора. Только я привык к транспонированному виду. :))


 
default ©   (2004-04-30 19:48) [110]

Думкин ©   (30.04.04 19:13) [107]
нет не на математика

а понял ещё до этих рисунков...ну да ладно
спасибо всё равно за картинку


 
Sha ©   (2004-04-30 23:23) [111]

Найден потерянный бит.

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

Дело в том, что лишний бит нам нужен не всегда, а лищь тогда, когда необходимо отыскать одну карту более, чем из 24, т.е. только тогда, когда из колоды были извлечены карты трех или четырех мастей. В этом случае для кодирования нуля помощник оставляет открытыми одинаковое количество карт каждой масти (1+1+1+1 или 2+2), а для кодирования единицы - разное (2+1+1).

В случае извлечения карт одной или двух мастей нам требуется определить одну карту из 9 или из 22. Иначе говоря, сами эти масти и являются недостающим битом. О том, что были извлечены карты двух мастей и какие это были масти помощник сообщает фокуснику, оставляя комбинацию (3+1), а о том, что одна и какая именно - оставляя любые (4) карты.


 
Думкин ©   (2004-05-01 07:01) [112]

1.71 - нет
 70=2*7*5 - можно, 6 комбинаций, с точностью до поворотов.


 
MBo ©   (2004-05-01 09:21) [113]

>Думкин ©   (01.05.04 07:01) [112]
Верно. Решать можно так: обозначим числа на трех смежных гранях a,b,c, а на противоположных им - d,e,f. Тогда (8 вершин - 8 слагаемых)

SumProd=abc+def+abf+ace+bcd+dec+dfb+efa=
=a(bc+bf+ce+ef)+d(bc+bf+ce+ef)=(a+d)(b+e)(c+f)
Таким образом, данное число должно раскладываться на три сомножителя, так что простое число 71 отпадает, а 70 раскладывается единственным образом 2*5*7 (эти числа - суммы противоположных граней).
2=1+1
5=1+4 или 2+3
7=1+6 или 2+5 или 3+4
6 вариантов сочетаний.

>Sha ©   (30.04.04 23:23) [111]
Про одну-две масти понятно. И в самом деле, эти случаи лучше обрабатывать отдельно. А вот с тремя-четырьмя у меня не срастается. Например: Как закодировать 0 при раскладе 3-1-1?
При раскладе 2-1-1-1 имхо не всегда можно извлечь карту,которая попадет в нулевую половинку (а оставшиеся 1-1-1-1 ничего не сообщат о возможной специальной нумерации, если ее вводить для преодоления этого эффекта)


 
Sha ©   (2004-05-01 12:25) [114]

MBo ©   (01.05.04 09:21) [113]

Мне тоже не удалось составить правила поведения помощника
и фокусника, в точности следуя изложенной ранее идее.

Есть другое решение.

Обозначим масти буквами m1, m2, m3, m4.
Пусть масти m1 и m2 имеют один цвет, а масти m3 и m4 - другой.
Количество извлеченных карт каждой масти обозначим c1, c2, c3, c4,
причем c1 + c2 + c3 + c4 = 5.
Количество карт, оставленных помощником, обозначим d1, d2, d3, d4,
причем d1 + d2 + d3 + d4 = 4 и d1<=c1, d2<=c2, d3<=c3, d4<=c4.
Перенумеруем наши масти, чтобы выполнялись неравенства
c1>=c2, c1>=c3, c3>=c4.
Флажкам f1, f2, f3, f4 присвоим значение 1, если сооветствующая масть
может содержать отложенную карту и 0 в противном случае.
Понятно, задача будет решена, если мы укажем правила действия
фокусника и его помощника, при которых общее количество не открытых карт,
принадлежащих помеченным флажками мастям, не превысит 24.

Сначала определим правила действий фокусника:
1. Цвет тройки. Если оставлены 3 или больше карт одной масти, то искомая карта
  имеет тот же цвет, что тройка.
2. Масти двух пар. Если оставлены 2 пары карт одинаковых мастей, то искомая
  карта имеет одну из их мастей.
3. Цвет одинокой пары. Если оставлены пара карт одной масти и нет других карт
  того же цвета, то искомая карта тот же цвет.
4. Масти разноцветных одиночек. Если оставлены 2 одиночные карты разного цвета,
  то искомая карта имеет одну из их мастей.

Помощник же должен просто отложить такую карту, чтобы фокусник мог
воспользоваться одним из этих правил. Это всегда возможно (см. таблицу)

 Правила действий помощника и фокусника
--------------------------------------------------------------------------------
 извлеченные       оставленные       где искать       правило
--------------------------------------------------------------------------------
c1  c2  c3  c4    d1  d2  d3  d4    f1  f2  f3  f4
5   0   0   0     4   0   0   0     1   1   0   0    цвет тройки
4   1   0   0     3   1   0   0     1   1   0   0    цвет тройки
4   0   1   0     3   0   1   0     1   1   0   0    цвет тройки
3   1   1   0     3   0   1   0     1   1   0   0    цвет тройки

3   2   0   0     2   2   0   0     1   1   0   0    масти двух пар
3   0   2   0     2   0   2   0     1   0   1   0    масти двух пар

3   0   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары
2   1   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары

2   2   1   0     2   1   1   0     0   1   1   0    масти разноцветных одиночек
2   1   2   0     2   1   1   0     0   1   1   0    масти разноцветных одиночек
--------------------------------------------------------------------------------


 
Sha ©   (2004-05-01 15:03) [115]

Вариант #2

 Правила действий помощника и фокусника
--------------------------------------------------------------------------------
 извлеченные       оставленные       где искать       правило
--------------------------------------------------------------------------------
c1  c2  c3  c4    d1  d2  d3  d4    f1  f2  f3  f4
5   0   0   0     4   0   0   0     1   1   0   0    цвет тройки
4   1   0   0     3   1   0   0     1   1   0   0    цвет тройки
4   0   1   0     3   0   1   0     1   1   0   0    цвет тройки
3   2   0   0     3   1   0   0     1   1   0   0    цвет тройки
3   1   1   0     3   0   1   0     1   1   0   0    цвет тройки

3   0   2   0     2   0   2   0     1   0   1   0    масти двух пар

3   0   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары
2   1   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары

2   2   1   0     2   1   1   0     0   1   1   0    масти разноцветных одиночек
2   1   2   0     2   1   1   0     0   1   1   0    масти разноцветных одиночек
--------------------------------------------------------------------------------


 
Sha ©   (2004-05-01 16:18) [116]

MBo ©   (01.05.04 09:21) [113]

> Как закодировать 0 при раскладе 3-1-1?
a) 3-1-1-0 (для определенности черви-бубны-пики-крести)
  переворачиваем бубновую карту (получаем 3-0-1-0), чтобы можно было воспользоваться
  правилом цвет тройки - фокусник будет искать перевернутую карту красных
б) 3-0-1-1 (для определенности черви-бубны-пики-крести)
  переворачиваем червонную карту (получаем 2-0-1-1), чтобы можно было воспользоваться
  правилом цвет одинокой пары - фокусник будет искать перевернутую карту среди красных
Остальные расклады 3-1-1 сводятся к рассмотренным перекраской мастей.

> При раскладе 2-1-1-1 имхо не всегда можно извлечь карту,которая попадет в нулевую
> половинку (а оставшиеся 1-1-1-1 ничего не сообщат о возможной специальной нумерации,
> если ее вводить для преодоления этого эффекта)
  2-1-1-1 (для определенности черви-бубны-пики-крести)
  переворачиваем бубновую карту (получаем 2-0-1-1), чтобы можно было воспользоваться
  правилом цвет одинокой пары - фокусник будет искать перевернутую карту среди красных
Остальные расклады 2-1-1-1 сводятся к рассмотркнному перекраской мастей.


 
default ©   (2004-05-01 20:06) [117]

зачем так сложно?
можно просто для кодирования бита распологать 4 карты в порядке
возрастания или убывания их рангов не взирая на масть(король, дама, ...)
(если есть карты одинаковых рангов то выриант их перестановки не имеет значения)
ведь всего 4 масти, не можеть быть 5 карт одинакового ранга, поэтому можно и так закодировать недостающий бит


 
Sha ©   (2004-05-01 20:39) [118]

> default ©   (01.05.04 20:06) [117]
> зачем так сложно?

Ведь нам надо угадать не только масть, но и саму отложенную карту.

Предложенным способом мы кодируем 2 масти, одну из которых имеет отложенная карта. Всего карт в этом подмножестве 26. Не менее двух карт из них уже открыты помощником. Значит, нам остается найти одну карту не более, чем из 24. Располагая 4 отложенные карты одним из 4!=24 способов, помощник имеет возможность сообщить фокуснику порядковый номер искомой карты.


 
default ©   (2004-05-01 20:51) [119]

Sha ©   (01.05.04 20:39) [118]
я промазал...забыл про 24 перестановки, а предл-ый способ код-ия недост-его бита их тоже использует, что недопустимо...


 
default ©   (2004-05-01 22:06) [120]

можно сделать так
есть у нас пять карт
В Д Т K 9
пусть кодируем Т(пусть это будет туз бубей)
предварительно задаётся некий порядок на 52 картах
в результате чего для 4 карт В Д К 9 можем написать к примеру
2 3 4 1
1)первой картой задаём масть
1 - черви, 2 - буби, ...
для нашего случая первой картой будет 2
2)второй картой задаём номер карты в данной масти
оставшиеся три карты в соотв-ии с принятым порядком
запишем как 2 3 1
1-2..5
2-6..9
3-10..14 (11-валет, 12-дама и тд.)
для нашего случая второй картой будет 3
3) перестановкой последних двух карт задаём номер карты
в нужном отрезке(пункт 2)
но перестановкой 2 карт можно задать 4 комбинации!
а у нас есть отрезок в пункте 2 в котором находятся 5 номеров!
как быть?!недостаёт информации!но у нас же есть магия помошника!
он просто не будет в качестве карты-загадки брать, к примеру, тузы, ведь среди 5 карт хоть одна имеет другой ранг(то есть пяти тузов для нашего случая быть не может!)!всё задача решена!


 
default ©   (2004-05-01 22:12) [121]

"второй картой задаём номер карты в данной масти"
точнее номер отрезка в котром лежит карта-загадка


 
Sha ©   (2004-05-01 22:47) [122]

2 default

Нельзя ли поянить на примере?
Скажем выпали туз пик, туз крестей и 2,3,4 червей.


 
default ©   (2004-05-01 22:58) [123]

Sha ©   (01.05.04 22:47) [122]
ok хоккей досмотрю и приведу


 
Sha ©   (2004-05-01 23:08) [124]

2 default

Все понял. Отличное рещение. Поздравляю!


 
Sha ©   (2004-05-01 23:41) [125]

2 default

Кажется, я поторопился с поздравлениями...

Как я понял, твое решение выглядит так:

Помощник откладывает в сторону любую карту удовлетворяющую единственному условию: есть еще хотя бы одна бОльшая карта той же масти. Заметим, что при таком выборе отложенная карта не может быть тузом.
Эту бОльшую карту он отрывает первой, указывая фокуснику масть.
Далее из трех оставшихся карт для кодирования одного из трех диапазонов, которым может принадлежать отложенная карта (2..5,6..9,10..К), соответственно выбирается
младшая, средняя или старшая. Эта карта открывается второй.
И наконец, парой оставшихся карт кодируется смещение (0..3)
загаданной карты внутри диапазона.

Проблема в том, что возможно всего два расположения двух последних карт: (младшая,старшая) и (старшая,младшая), - а этого недостаточно для кодирования 4-х смещений :(


 
default ©   (2004-05-02 00:01) [126]

мда...когда писал "но перестановкой 2 карт можно задать 4 комбинации!" думал почему-то о 2 битах...
таким способом не удастся задать 8 карт, опять не хватает инф-ции...


 
default ©   (2004-05-02 00:04) [127]

да когда стал писать пример тоже это увидел, одни расстройства(в шутку)


 
default ©   (2004-05-02 00:13) [128]

даже не 8, а куда больше...


 
Sha ©   (2004-05-02 09:25) [129]

> default ©   (02.05.04 00:01) [126]
> мда...когда писал "но перестановкой 2 карт можно задать 4 комбинации!" думал почему-то о 2 битах...

Я почему-то тоже :)


 
SergP ©   (2004-05-02 10:52) [130]

SergP ©   (30.04.04 18:13)

> Когда гиря находилась в лодке она под действием силы тяжести
> выталкивала столько же воды, сколько находясь на дне (Закон
> Архимеда)

М-да.... Однако.... :-))) Это может быть верным только если плотность гири равна плотности воды....

Думкин ©   (30.04.04 18:21)

> [100] SergP ©   (30.04.04 18:13)

Нет. И при меньше и равно. Правда...есть одно но - найдите.


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


 
Sha ©   (2004-05-03 09:23) [131]

Если кому трудно крутить в уме алгоритм Sha ©   (01.05.04 15:03) [115], то вот исходники для решения задачи #2.
Все по-честному, без обмана.

(* Sha 2004
Демонстрационная программа, доказывающая возможность следующего фокуса.
Из колоды в 52 карты помощник извлекает наугад 5 карт, показывает зрителям и
смотрит сам, после чего выбирает одну из них и прячет. Остальные 4 карты
выкладывает в ряд на столе. Затем приходит фокусник и, глядя на лежащие
карты, называет спрятанную.

Обозначим масти символами m1, m2, m3, m4.
Количество извлеченных карт каждой масти обозначим c1, c2, c3, c4,
причем c1 + c2 + c3 + c4 = 5.
Количество карт, оставленных помощником, обозначим d1, d2, d3, d4,
причем d1 + d2 + d3 + d4 = 4 и d1<=c1, d2<=c2, d3<=c3, d4<=c4.
Не ограничивая общность рассуждений, можем считать, что выполняются неравенства
c1>=c2, c1>=c3, c3>=c4 и масти m1 и m2 одного цвета, а масти m3 и m4 - другого.
в противном случае перенумеруем наши масти.
Флажкам f1, f2, f3, f4 будем присваивать значение 1, если сооветствующая масть
может содержать отложенную карту и 0 в противном случае.

Идея решения состоит в том, чтобы выбрать 2 масти, содержащие не менее 3-х из
5-ти извлеченных карт и спрятать одну этих трех карт. При этом выбор этих мастей
должен быть сделан таким образом, чтобы по мастям 4-х открытых карт фокусник
смог однозначно определить 2 выбранные нами масти.
Т.к. в двух мастях 26 карт и не менее 2-х карт из них уже открыты, то нам
остается закодировать номер одной карты из 24. Мы делаем это, располагая
4 открытых карты одним из 4!=24 способов, и тем самым сообщаем фокуснику
порядковый номер искомой карты в активном подмножестве карт.

Правила определения фокусником масти отложенной карты:

1. Цвет тройки.
    Если оставлены 3 или больше карт одной масти,
    то искомая карта имеет тот же цвет, что эти карты.
2. Масти разноцветных пар.
    Если оставлены пара карт одной (красной) масти
    и пара карт другой (черной) масти,
    то искомая карта имеет одну из этих мастей.
3. Цвет одинокой пары.
    Если оставлены 2 карты разных мастей одного цвета
    и пара карт одной масти другого цвета,
    то искомая карта имеет тот же цвет, что и пара карт.
4. Масти разноцветных карт.
    Если оставлены 2 карты разных мастей разного цвета
    и пара карт произвольной масти,
    то искомая карта имеет ту же масть, что и одна из непарных карт.

Правила выбора карты помощником:

Помощник должен отложить такую карту, чтобы фокусник мог воспользоваться для
ее угадывания одним из приведенных правил. Это всегда возможно (см. таблицу).

 Правила действий помощника и фокусника
--------------------------------------------------------------------------------
 извлеченные       оставленные       где искать       правило
--------------------------------------------------------------------------------
c1  c2  c3  c4    d1  d2  d3  d4    f1  f2  f3  f4
5   0   0   0     4   0   0   0     1   1   0   0    цвет тройки
4   1   0   0     3   1   0   0     1   1   0   0    цвет тройки
4   0   1   0     3   0   1   0     1   1   0   0    цвет тройки
3   2   0   0     3   1   0   0     1   1   0   0    цвет тройки
3   1   1   0     3   0   1   0     1   1   0   0    цвет тройки

3   0   2   0     2   0   2   0     1   0   1   0    масти разноцветых пар

3   0   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары
2   1   1   1     2   0   1   1     1   1   0   0    цвет одинокой пары

2   2   1   0     2   1   1   0     0   1   1   0    масти разноцветных карт
2   1   2   0     2   1   1   0     0   1   1   0    масти разноцветных карт
--------------------------------------------------------------------------------
*)

unit ShaCardU;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Label1: TLabel;
   Label2: TLabel;
   procedure NewCards;
   procedure HideCard;
   procedure FindCard;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 end;

var
 Form1: TForm1;



 
Sha ©   (2004-05-03 09:24) [132]

implementation

{$R *.dfm}

const
 Captions: array[0..2] of string= ("Новый расклад","Спрятать","Угадать");

var
 Edits: array[0..5] of TEdit;

type
 TCardSet= set of 0..51;

 TRule= record
   c, d, f, no: integer;
   end;

const
 Rules: array[0..9] of TRule=(
   (c:$05000000; d:$04000000; f:$01010000; no:0),  //0 цвет тройки
   (c:$04010000; d:$03010000; f:$01010000; no:0),  //1 цвет тройки
   (c:$04000100; d:$03000100; f:$01010000; no:0),  //2 цвет тройки
   (c:$03020000; d:$03010000; f:$01010000; no:0),  //3 цвет тройки
   (c:$03010100; d:$03000100; f:$01010000; no:0),  //4 цвет тройки

   (c:$03000200; d:$02000200; f:$01000100; no:1),  //5 масти разноцветых пар

   (c:$03000101; d:$02000101; f:$01010000; no:2),  //6 цвет одинокой пары
   (c:$02010101; d:$02000101; f:$01010000; no:2),  //7 цвет одинокой пары

   (c:$02020100; d:$02010100; f:$00010100; no:3),  //8 масти разноцветных карт
   (c:$02010200; d:$02010100; f:$00010100; no:3)); //9 масти разноцветных карт

 Permutations: array[0..23] of integer= (
   $00010203, $00010302, $00020103, $00020301, $00030102, $00030201,
   $01000203, $01000302, $01020003, $01020300, $01030002, $01030200,
   $02000103, $02000301, $02010003, $02010300, $02030001, $02030100,
   $03000102, $03000201, $03010002, $03010200, $03020001, $03020100);

//Показать карты
procedure ShowCards(Count: integer);
const
 Names: array[0..12] of string= ("2","3","4","5","6","7","8","9","10","В","Д","К","Т");
 Kinds: array[0..3] of string= ("ч","б","п","к");
var
 i, t: integer;
begin;
 for i:=0 to Count-1 do begin;
   t:=Edits[i].Tag;
   if (t>=0) and (t<52) then Edits[i].Text:=Format("%s %s",[Names[t div 4],Kinds[t mod 4]]);
   end;
 for i:=Count to High(Edits) do Edits[i].Text:="";
 end;

//Подсчет количества карт каждой масти и сортировка
procedure CountCards(var m, n: integer; Count: integer);
var
 mb: array[0..3] of byte absolute m; //количество карт каждой масти
 nb: array[0..3] of byte absolute n; //номера мастей
 b: byte; //временная переменная для обмена байтов
 i: integer; //временная
begin;
 //Подсчет карт каждой масти
 m:=0; for i:=0 to Count-1 do inc(mb[Edits[i].Tag mod 4]);

 //Сортировка мастей
 n:=$03020100;
 if mb[3]<mb[2] then begin;
    b:=mb[3]; mb[3]:=mb[2]; mb[2]:=b; b:=nb[3]; nb[3]:=nb[2]; nb[2]:=b;
   end;
 if mb[1]<mb[0] then begin;
    b:=mb[1]; mb[1]:=mb[0]; mb[0]:=b; b:=nb[1]; nb[1]:=nb[0]; nb[0]:=b;
   end;
 if (mb[3]<mb[1]) or (mb[3]=mb[1]) and (mb[2]<mb[0]) then begin;
    b:=mb[3]; mb[3]:=mb[1]; mb[1]:=b; b:=nb[3]; nb[3]:=nb[1]; nb[1]:=b;
    b:=mb[2]; mb[2]:=mb[0]; mb[0]:=b; b:=nb[2]; nb[2]:=nb[0]; nb[0]:=b;
   end;
 end;

//Определение активного подмножества карт
procedure DefineCardSet(var cs: TCardSet; Kind1, Kind2: integer);
var
 i, t: integer; //временные
begin;
 //Метим масти, которым может принадлежать загадка
 cs:=[];
 for i:=0 to 51 do begin;
   t:=i mod 4;
   if (t=Kind1) or (t=Kind2) then include(cs,i);
   end;

 //Стираем метки у открытых карт
 for i:=0 to 3 do exclude(cs,Edits[i].Tag);
 end;

//Сортировка открытых карт, результат - несортированные упакованные номера открытых карт
function PackAndSortCards(var Sorted: integer): integer;
var
 eb: array[0..3] of byte absolute Sorted; //номера открытых карт
 b: byte; //временная переменная для обмена байтов
 i, t: integer; //временные
begin;
 Result:=0; for i:=0 to 3 do Result:=(Result shl 8) + Edits[i].Tag;
 Sorted:=Result;
 repeat;
   t:=0;
   for i:=0 to 2 do if eb[i]>eb[i+1] then begin;
     inc(t); b:=eb[i]; eb[i]:=eb[i+1]; eb[i+1]:=b;
     end;
   until t=0;
 end;

//Сгенерировать новый расклад
procedure TForm1.NewCards;
var
 i, j, t, ct: integer;
begin;
 for i:=0 to 4 do begin;
   repeat;
     ct:=0;
     t:=Random(52);
     for j:=0 to i-1 do if Edits[j].Tag=t then inc(ct);
     until ct=0;
   Edits[i].Tag:=t;
   end;
 ShowCards(5);
 Edits[4].Color:=clWindow;
 Label1.Caption:="";
 Label2.Caption:="";
 end;

//Выбрать и спрятать одну из 5 карт
procedure TForm1.HideCard;
const
 RuleNames: array[0..3] of string= ("Цвет тройки", "Масти разноцветных пар",
                                    "Цвет одинокой пары", "Масти разноцветных карт");
var
 m: integer; mb: array[0..3] of byte absolute m; //количество карт каждой масти
 n: integer; nb: array[0..3] of byte absolute n; //номера мастей
 e: integer; eb: array[0..3] of byte absolute e; //номера открытых карт
 x: integer; xb: array[0..3] of byte absolute x; //перестановка
 i, t: integer;         //временные
 RuleLine: integer;     //номер расклада
 Kind1, Kind2: integer; //возможные масти
 Index: integer;        //порядковый номер карты-загадки в подмножестве
 cs: TCardSet;          //меченые карты
begin;
 //Подсчет количества карт каждой масти и сортировка
 CountCards(m,n,5);

 //Определение номера расклада
 RuleLine:=0; for i:=1 to High(Rules) do if Rules[i].c=m then RuleLine:=i;

 //Определение возможных мастей
 t:=Rules[RuleLine].c-Rules[RuleLine].d;
 Kind1:=0; while not odd(t) do begin; t:=t shr 8; inc(Kind1); end;
 t:=Rules[RuleLine].f-(Rules[RuleLine].c-Rules[RuleLine].d);
 Kind2:=0; while not odd(t) do begin; t:=t shr 8; inc(Kind2); end;
 Kind1:=nb[Kind1]; //Масть карты-загадки
 Kind2:=nb[Kind2]; //Вторая возможная масть

 //Загадаем карту
 for i:=0 to 3 do begin;
   t:=Edits[i].Tag;
   if t mod 4=Kind1 then begin;
     Edits[i].Tag:=Edits[4].Tag; Edits[4].Tag:=t; break;
     end;
   end;

 //Определим активное подмножество карт
 DefineCardSet(cs,Kind1,Kind2);

 //Определяем порядковый номер загаданной карты в подмножестве (начиная с 0)
 i:=0; Index:=0; t:=Edits[4].Tag;
 while true do begin;
   if i=t then break;
   if i in cs then inc(Index);
   inc(i);
   end;

 //Сортировка открытых карт
 PackAndSortCards(e);

 //Располагаем открытые карты в порядке соответствующем Index
 x:=Permutations[Index]; for i:=0 to 3 do Edits[i].Tag:=eb[xb[i]];

 //Показываем
 ShowCards(5);
 Edits[4].Tag:=-1; //Сотрем номер загаданной карты для большей скрытности
 Edits[4].Color:=clBtnFace;
 Label1.Caption:=Format("Расклад %d",[RuleLine]);
 Label2.Caption:=RuleNames[Rules[RuleLine].no];
 end;



 
Sha ©   (2004-05-03 09:25) [133]

//Угадать загаданную карту.
procedure TForm1.FindCard;
var
 m: integer; mb: array[0..3] of byte absolute m; //количество карт каждой масти
 n: integer; nb: array[0..3] of byte absolute n; //номера мастей
 e, ePacked: integer; eb: array[0..3] of byte absolute e; //номера открытых карт
 x: integer; xb: array[0..3] of byte absolute x; //перестановка
 i, t: integer;         //временные
 RuleLine: integer;     //номер расклада
 Kind1, Kind2: integer; //возможные масти
 Index: integer;        //порядковый номер карты-загадки в подмножестве
 cs: TCardSet;          //меченые карты
begin;
 //Подсчет количества карт каждой масти и сортировка
 CountCards(m,n,4);

 //Определение номера расклада
 RuleLine:=0; for i:=1 to High(Rules) do if Rules[i].d=m then RuleLine:=i;

 //Определение возможных мастей
 t:=Rules[RuleLine].f;
 Kind1:=0;
 while not odd(t) do begin; t:=t shr 8; inc(Kind1); end;
 Kind2:=Kind1; t:=t and (-256);
 while not odd(t) do begin; t:=t shr 8; inc(Kind2); end;
 Kind1:=nb[Kind1]; //Первая возможная масть
 Kind2:=nb[Kind2]; //Вторая возможная масть

 //Определим активное подмножество карт
 DefineCardSet(cs,Kind1,Kind2);

 //Сортировка открытых карт
 ePacked:=PackAndSortCards(e);

 //Вычисляем порядковый номер загаданной карты в подмножестве
 Index:=0;
 while true do begin;
   x:=Permutations[Index];
   t:=0;
   for i:=0 to 3 do t:=(t shl 8) + eb[xb[i]];
   if ePacked=t then break;
   inc(Index);
   end;

 //Отсчитываем загаданную карту
 i:=0;
 while true do begin;
   if i in cs then begin;
     if Index=0 then break;
     dec(Index);
     end;
   inc(i);
   end;

 //Показываем
 Edits[5].Tag:=i;
 ShowCards(6);
 end;

procedure TForm1.Button1Click(Sender: TObject);
var
 t: integer;
begin;
 t:=Button1.Tag;
 case t of
   0: begin; t:=1; NewCards; end;
   1: begin; t:=2; HideCard; end;
   2: begin; t:=0; FindCard; end;
   else exit;
   end;
 Button1.Tag:=t;
 Button1.Caption:=Captions[t];
 end;

procedure TForm1.FormCreate(Sender: TObject);
var
 i: integer;
begin;
 Button1.Tag:=0;
 Button1.Caption:=Captions[0];
 for i:=0 to 5 do begin;
   Edits[i]:=TEdit.Create(Self);
   with Edits[i] do begin;
     Parent:=Self; Top:=16; Width:=33; Left:=8+40*i; ReadOnly:=true;
     end;
   end;
 Edits[5].Color:=clBtnFace;
 Label1.Caption:="";
 Label2.Caption:="";
 Self.Caption:="АРМ фокусника";
 Randomize;
 end;

end.

---------------

object Form1: TForm1
 Left = 189
 Top = 102
 Width = 260
 Height = 130
 Caption = "Form1"
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "MS Sans Serif"
 Font.Style = []
 OldCreateOrder = False
 OnCreate = FormCreate
 PixelsPerInch = 96
 TextHeight = 13
 object Label1: TLabel
   Left = 8
   Top = 64
   Width = 32
   Height = 13
   Caption = "Label1"
 end
 object Label2: TLabel
   Left = 8
   Top = 80
   Width = 32
   Height = 13
   Caption = "Label2"
 end
 object Button1: TButton
   Left = 88
   Top = 48
   Width = 153
   Height = 25
   Caption = "Button1"
   TabOrder = 0
   OnClick = Button1Click
 end
end


 
MBo ©   (2004-05-03 12:02) [134]

>Sha
Вау! :)
Я тоже думал о реализации [114-116] для исследования ;)

Я прорабатывал еще такой вариант - для раскладов типа 5 в 0 или 4 в 1 используем ключ по масти, а для раскладов с наличием 3-4 мастей - используем тот факт, что при этом карты более равномерно распределены по общему интервалу 1-52, и, возможно, удастся однозначно удалять промежуточные карты (но это пока только в голове)


 
2963   (2004-05-03 12:19) [135]

to MBo
Классные задачки...где взял не подскажешь?
или выложи еще...


 
MBo ©   (2004-05-03 14:10) [136]

>2963
>где взял не подскажешь?
большинство запомнилось из Гарднера, Перельмана, еще каких-то книг, что-то  в инете встречал.
>или выложи еще...
В прошлую пятницу был еще набор задачек.


 
Sha ©   (2004-05-04 11:49) [137]

MBo ©   (03.05.04 12:02) [134]

Похожие мысли занимали и мой досуг.
Оказывается, задача #2 допускает обобщение на случай загадывания
одной из m+1 карт, извлеченных из колоды, содержащей 2*m!+m карт m мастей.
Решение настолько простое, что найти его может даже школьник.
Не хочу лишать тебя удовольствия :)


 
Sha ©   (2004-05-05 10:56) [138]

Не знаю, прочитал ли кто предыдущий пост.
Там был намек на другой вариант решения, более красивый. Его легко нащупать для m=2 и m=3.

Ниже приводится решение задачи Sha © (04.05.04 11:49) [137] и ее частного случая - задачи #2.
Желающие решить задачу самостоятельно могут уменьшить яркость своих мониторов :)

Среди m+1 карт m мастей обязательно должны найтись 2 или более карт одной масти. Мысленно расположим все возможные карты данной масти по окружности в порядке старшинства (аналогично тому, как это сделано на циферблате часов) и как-нибудь пометим карты, присутсвующие в выборке. Вычислим расстояние (по ходу часовой стрелки) от каждой помеченной карты до следующей. Т.к. общее количество карт одной масти, равное (2*m!+m)/m=2*(m-1)!+1, является длиной окружности, а количество карт этой масти в выборке не менее двух, то минимальное расстояние между картами d лежит в интервале 1<=d<=(m-1)!
Помощник первой открывает карту, имеюшую минимальное расстояние до следующей карты, загадывает эту самую следующую карту и,  располагая рядом с первой остальные выбранные (m-1) карт одним из (m-1)! способов, сообщает фокуснику расстояние до загаданной карты.


 
MBo ©   (2004-05-05 13:04) [139]

>Sha ©   (05.05.04 10:56) [138]
Вот где сила, как оказалось -  в циклическом заворачивании мастевого пространства :)))

И нетривиально, конечно, то, что не нужно все m карт использовать для указания дистанции - такое "ухудшение" даже в голову не приходило ;(


 
Sha ©   (2004-05-05 13:22) [140]

MBo ©   (05.05.04 13:04) [139]

Еще один интересный вопрос.
Оба решения предполагают одинаковый размер колоды для 2-х и 4-х мастей. Так ли это будет для 6, 8 и более мастей?


 
MBo ©   (2004-05-05 13:33) [141]

>Sha ©   (05.05.04 13:22) [140]
Не понял ;((


 
Sha ©   (2004-05-05 13:50) [142]

MBo ©   (05.05.04 13:33) [141]

Например, если колода состоит из 4 мастей, то оба решения дают ответ для количества карт в каждой масти меньшего или равного 13 или количества карт в колоде <= 52. Т.е. максимальная мощность колоды совпадает для этих решений.

Вопрос: а каково максимальное количество карт в колоде в случае 6 мастей для каждого из этих решений?



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

Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.93 MB
Время: 0.045 c
14-1083835292
Карелин Артем
2004-05-06 13:21
2004.05.23
По волнам блок-схем. Как построить схему по сишному коду?


1-1084255430
Elast
2004-05-11 10:03
2004.05.23
запуск программы


4-1080457228
Navi
2004-03-28 11:00
2004.05.23
Извлечь иконку по расширению


6-1081193765
aikidzin
2004-04-05 23:36
2004.05.23
Скачивание с WWW


3-1082626061
Eleonora
2004-04-22 13:27
2004.05.23
Interbase, Query, DBMemo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский