Re[3]: Интересные задачки для программистов
От: bedward70 Россия http://www.bedward70.narod.ru/
Дата: 18.01.06 12:54
Оценка: 2 (1)
Здравствуйте, andyJB, Вы писали:

JB>Здравствуйте, MaximVK, Вы писали:


MVK>>Забавная задача. Как правило ее легко решают школьники и студенты старших курсов. Первые, правда, предоставляют более красивое и изящное решение. А вот для студентов первых курсов эта задача оказывается не по зубам

JB>А разве у нее есть какое-нибудь нормальное решение кроме перехода в неинерциальную систему координат, связанную с бегущей собакой?


Значит так:
1. Собака из точки A, бежит под 200 метров в минуту
2. Собака из точки B, с такой же скоростью.
3. Проекция скорости собаки B на AB, будет составлять sin(30) * 200 метров в минуту = 100 метров в минуту, причем на стречу собаки A.
4. Скорось приближения собак из точек A и B 200 + 100 = 300 метров в секунду.
5. Скорость сблищения не меняется, так как пробегая принибрижительно малое время не меняется отностительное взаимное положение собак, так как вновь образуется треугольник чуть меньших размеров с начальными данными по двидению собак.

Ну и собственно время: 200/300 = 2/3 минуты = 40 секунд.
P.S.: Еслиб был квадрат, то там проще, проекция собаки на ось AB =0, то есть, движением ее не учитываем и получаем 1 минутую
С уважением, Эдвард
Re[5]: Интересные задачки для программистов
От: VsevolodC Россия  
Дата: 18.01.06 12:56
Оценка:
Здравствуйте, andyJB, Вы писали:

JB>Здравствуйте, VsevolodC, Вы писали:


VC>>и оно выполняется, потому что ранее названных нет.

JB>И что? Второй назовет произвольное число, отличное от 1, и игра продолжится.

Действительно, не сообразил. Однако можно первым назвать -1.
Re: Интересные задачки для программистов
От: Аноним  
Дата: 18.01.06 13:00
Оценка: 5 (2)
G>23. Есть круглый бассейн. От его бортика в направлении точно на север отплыла рыба. Проплыв 6 метров, она опять столкнулась с бортиком. Тогда рыба повернула на восток, проплыла еще 8 метров и опять столкнулась с бортиком. Найти диаметр бассейна. (опять Мартин Гарднер)

Ответ: 10 метров, так как прямой угол всегда лежит на диамттре, теорема из школьного курса геометрии.
Re: Интересные задачки для программистов
От: Кодт Россия  
Дата: 18.01.06 13:05
Оценка:
Здравствуйте, Grammer, Вы писали:

G>16а. Дан связный список. Проверить, нет ли в нем циклов. (популярная)

G>16b. Сделать то же самое с двоичным деревом.

Два итератора, аналогично проверке списка.
Перекуём баги на фичи!
Re[2]: Интересные задачки для программистов
От: rus blood Россия  
Дата: 18.01.06 13:06
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>Ответ: 10 метров, так как прямой угол всегда лежит на диамттре, теорема из школьного курса геометрии.


Ну, поскольку на Земле нет рыб, которые умеют плавать точно в направлении сторон света, то дело, по-видимому, происходит на далекой планете. И тут все зависит от диаметра этой планеты. Геометрия на сфере, все таки, немного неевклидова...
Имею скафандр — готов путешествовать!
Re: Интересные задачки для программистов
От: Кодт Россия  
Дата: 18.01.06 13:11
Оценка:
Здравствуйте, Grammer, Вы писали:

G>18. Даны две строчки битов, длинная и короткая. Определить, как можно более эффективно, содержится ли короткая строчка в длинной (мое)


1) Нарезаем строчки на буквы (например, побайтно). Причём искомую нарезаем со всеми сдвигами. Естественно, появятся префиксы-постфиксы из неполных букв.

2) С помощью модифицированных алгоритмов КМП или БМ ищем вхождение всех (сдвинутых) буквенных строчек в искомой.
Если выжать все соки из КМП, это можно сделать очень эффективно, за один проход по тексту. А если из БМ — то ещё эффективнее (с перепрыгиванием).
Вопрос лишь в затратах на препроцессинг.

3) Для каждого найденного вхождения проверяем (с помощью маскирования) совпадение головного и хвостового огрызков.
Перекуём баги на фичи!
Re[4]: Интересные задачки для программистов
От: Arioch2  
Дата: 18.01.06 13:13
Оценка:
B>3. Проекция скорости собаки B на AB, будет составлять sin(30) * 200 метров в минуту = 100 метров в минуту, причем на стречу собаки A.
B>4. Скорось приближения собак из точек A и B 200 + 100 = 300 метров в секунду.
B>5. Скорость сблищения не меняется, так как пробегая принибрижительно малое время не меняется отностительное взаимное положение собак, так как вновь образуется треугольник чуть меньших размеров с начальными данными по двидению собак.


Шикарно!

Вспоминается на ту же тему, но намного проще.

Дорого длинной, скажем, километр.
С одного конца идет девочка 3 км/ч.
С другого — мальчик-вылысыпыдыст, 7 км/ч.
У девочки есть собачка, она скучает дти рядом с человеком и убегает от девочки навстречу мальчику со скоростью 10 км/ч. Там ей становится скучно и она бежит обратно.

Вопрос — сколько километров намотает собачка.

Вот кстaти, ещё задачка. Делалась наспех, кое-как. Извиняйте. Опечатка в самом начале — имелся ввиду угол BA'O
Re: Интересные задачки для программистов
От: Кодт Россия  
Дата: 18.01.06 13:18
Оценка:
Здравствуйте, Grammer, Вы писали:

G>31. У Вас с другом есть прямоугольный торт, из которого какой-то гад, к сожалению, уже вырезал (и съел) прямоугольный кусок. Ориентация и положение вырезанного куска могут быть совершенно произвольными. Как вам с другом разделить оставшийся торт на две равные части? (Microsoft)


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

Хитрое решение состоит в том, чтобы разрезать торт по горизонтали.

G>32. Как передвинуть гору Фудзи? (Microsoft)


Вырезать и скопировать на новом месте
"Группа умных альпинистов обошла гору Фудзи".
Перекуём баги на фичи!
Re[5]: Интересные задачки для программистов
От: rus blood Россия  
Дата: 18.01.06 13:20
Оценка:
Здравствуйте, Arioch2, Вы писали:

A>Дорого длинной, скажем, километр.

A>С одного конца идет девочка 3 км/ч.
A>С другого — мальчик-вылысыпыдыст, 7 км/ч.
A>У девочки есть собачка, она скучает дти рядом с человеком и убегает от девочки навстречу мальчику со скоростью 10 км/ч. Там ей становится скучно и она бежит обратно.

Да, это туфта. Вот другая задача, посложнее...

Из города в одном направлении выходят мальчик (М) и девочка (Д). М идет со скоростью 5 км/ч, Д идет со скоростью 3 км/ч. Вместе с ними выбежала собачка, которая бегает от М к Д и обратно. Скорость собачки 8 км/ч. В какой точке отрезка МД окажется собачка после 4 часа пути?


A>Вот кстaти, ещё задачка. Делалась наспех, кое-как. Извиняйте. Опечатка в самом начале — имелся ввиду угол BA'O

A>
Картинка заблокирована проксей...
Имею скафандр — готов путешествовать!
Re[2]: Интересные задачки для программистов
От: Xander Zerge Россия www.zerge.com
Дата: 18.01.06 13:22
Оценка: 15 (1) +1
Здравствуйте, Spidola, Вы писали:

S>Здравствуйте, Grammer, Вы писали:

G>>22. Стандартный способ "честного" деления пирога: первый участник делит, второй выбирает себе один из кусков, оставшийся кусок достается первому. Что делать если участников 3? (Мартин Гарднер, чтоли?)

S>Кстати, если не пирог, а сыпучее вещество, то можно "честно" делить на любое количество участников


Вообще-то "честный" это так:
Берётся палка колбасы. Режущий, медленно ведёт нож от края, ожидая команды от жаждущих колбаски. Тогда он останавливается, отрезает и отдаёт кусок тому, кто возжелал отрезать. Сам режущий так же может в любой момент остановиться и отрезать кусок себе, но в этом случае назначается новый режущий, из тех, кто ещё не получил своего.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Серёжа Новиков,
программист
Re[3]: Интересные задачки для программистов
От: Аноним  
Дата: 18.01.06 13:36
Оценка:
Здравствуйте, Xander Zerge, Вы писали:

XZ>Здравствуйте, Spidola, Вы писали:


S>>Здравствуйте, Grammer, Вы писали:

G>>>22. Стандартный способ "честного" деления пирога: первый участник делит, второй выбирает себе один из кусков, оставшийся кусок достается первому. Что делать если участников 3? (Мартин Гарднер, чтоли?)

S>>Кстати, если не пирог, а сыпучее вещество, то можно "честно" делить на любое количество участников


XZ>Вообще-то "честный" это так:

XZ>Берётся палка колбасы. Режущий, медленно ведёт нож от края, ожидая команды от жаждущих колбаски. Тогда он останавливается, отрезает и отдаёт кусок тому, кто возжелал отрезать. Сам режущий так же может в любой момент остановиться и отрезать кусок себе, но в этом случае назначается новый режущий, из тех, кто ещё не получил своего.

тема пирога не раскрыта
Re[6]: Интересные задачки для программистов
От: Arioch2  
Дата: 18.01.06 13:38
Оценка:
A>>Вот кстaти, ещё задачка. Делалась наспех, кое-как. Извиняйте. Опечатка в самом начале — имелся ввиду угол BA'O
A>>
RB>Картинка заблокирована проксей...

А сам сайт? там в папке еще исходник картинки для OpenOffice. Листинг папок включен.
Re[4]: Интересные задачки для программистов
От: andyJB  
Дата: 18.01.06 13:39
Оценка:
Здравствуйте, bedward70, Вы писали:


B>3. Проекция скорости собаки B на AB, будет составлять sin(30) * 200 метров в минуту = 100 метров в минуту, причем на стречу собаки A.

B>4. Скорось приближения собак из точек A и B 200 + 100 = 300 метров в секунду.
B>5. Скорость сблищения не меняется, так как пробегая принибрижительно малое время не меняется отностительное взаимное положение собак, так как вновь образуется треугольник чуть меньших размеров с начальными данными по двидению собак.
Собственно, это и называется перейти в систему координат, связанную с одной из собак. В ней собака, за которой бежит данная, будет бежать навстречу со скоростью 300 м/мин. Вопрос, собственно, какое ещё решение можно придумать?
Re[2]: Интересные задачки для программистов
От: Cyberax Марс  
Дата: 18.01.06 13:44
Оценка:
Кодт wrote:
> G>32. Как передвинуть гору Фудзи? (Microsoft)
> Вырезать и скопировать на новом месте
А еще можно использовать shallow copy — просто назвать другую гору
"Фудзи". Старую потом можно взорвать или перименовать
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re: Интересные задачки для программистов
От: VsevolodC Россия  
Дата: 18.01.06 13:52
Оценка:
Здравствуйте, Grammer, Вы писали:

G>32. Как передвинуть гору Фудзи? (Microsoft)


1. Метод теории относительности: передвинуть наблюдателя

2. Метод малых приращений: положить камень на вершину горы + епсилон

3. Топонимический метод: поменять названия Фудзи с другой горой

4. Координатный метод: поменять систему координат

5. Метрический метод: померить координаты горы 2 раза, значения в 99.9% случаев будут разные

6. Геологический метод: дождаться очередных геологических изменений в регионе

фантазия закончилась
Re[2]: Интересные задачки для программистов
От: rus blood Россия  
Дата: 18.01.06 13:54
Оценка:
Здравствуйте, VsevolodC, Вы писали:

Принцип ложной посылки.
Гору Фудзи легко передвинуть, если поставить ее на носилки.
Имею скафандр — готов путешествовать!
Re: Интересные задачки для программистов
От: andrei_vish Латвия  
Дата: 18.01.06 15:14
Оценка:
Здравствуйте, Grammer, Вы писали:

Многие из этих задачек взяты из книги "Как сдвинуть гору Фудзи?"(How Would You Move Mount Fuji?)
Re[2]: Интересные задачки для программистов
От: GSL  
Дата: 18.01.06 18:07
Оценка:
Здравствуйте, VsevolodC, Вы писали:

VC>Здравствуйте, Grammer, Вы писали:


достоинство воображаемой разменной монеты.

............

G>>При этом нужно, чтобы это число нельзя было выплатить при помощи ранее называнных монет. Проигрывает назвавший число 1. Доказать, что игра не может продолжаться бесконечно. (J.H.Conway)


Стою на асфальте я в лыжы обутый...
Или я читать разучился...

Вот лог игры
2, 3, 4, 6, 10..... бесконечность
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Интересные задачки для программистов
От: GSL  
Дата: 18.01.06 18:19
Оценка:
Здравствуйте, bedward70, Вы писали:

B>Здравствуйте, andyJB, Вы писали:


JB>>Здравствуйте, MaximVK, Вы писали:


MVK>>>Забавная задача. Как правило ее легко решают школьники и студенты старших курсов. Первые, правда, предоставляют более красивое и изящное решение. А вот для студентов первых курсов эта задача оказывается не по зубам

JB>>А разве у нее есть какое-нибудь нормальное решение кроме перехода в неинерциальную систему координат, связанную с бегущей собакой?

B>

B>3. Проекция скорости собаки B на AB, будет составлять sin(30) * 200 метров в минуту = 100 метров в минуту, причем на стречу собаки A.

А почему sin ? или я чего-то не понял ? BC это вроде через косинус будет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Интересные задачки для программистов
От: andyJB  
Дата: 18.01.06 18:34
Оценка:
Здравствуйте, GSL, Вы писали:

GSL>Вот лог игры

GSL>2, 3, 4, 6, 10..... бесконечность
Правильная формулировка: "при помощи любого количества монет ранее названных достоинств".
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.