Интересные задачки для программистов |
Здравствуйте, гость ( Вход | Регистрация )
Интересные задачки для программистов |
Oct 9 2006, 14:22
Сообщение
#1
|
|
Читатель Группа: Members Сообщений: 55 Регистрация: 7-October 06 Из: Zurich Пользователь №: 947 Пол: Мужской |
... 4. Что делает следующий С++ код? (Matt Marcus) struct A { A(const volatile void*); }; char f(A); int f(...); template struct Test { static const int value = (sizeof(f(*(T*)0)) == sizeof(char)); }; ... Прикольные задачки В вышепроцитированной кстати пропушено <class T> после template. |
|
|
Oct 9 2006, 14:37
Сообщение
#2
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
31. У Вас с другом есть прямоугольный торт, из которого какой-то гад, к сожалению, уже вырезал (и съел) прямоугольный кусок. Ориентация и положение вырезанного куска могут быть совершенно произвольными. Как вам с другом разделить оставшийся торт на две равные части? (Microsoft) Через вершины вырезанного куска проводим разрезы параллельно сторонам торта. Получаем прямоугольные куски и возможно треугольные (если стороны вырезанного куска не параллельны сторонам торта). Прямоугольные куски делятся каждый по диагонали, а возможно оставшиеся две пары треугольных кусков будут попарно симметричны. |
|
|
Oct 9 2006, 15:51
Сообщение
#3
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
29. В какие времена суток положение всех трех стрелок часов (часовой, минутной и секундной) совпадает? (не помню откуда)Разъяснение Часы механические, и стрелки двигаются с равномерной скоростью. В промежуток времени от 0 до 12 таких положений 11. Интуитивно кажется, что они разделены равными промежутками времени. То есть такие события случаются каждые 12/11 часа, начиная с полуночи... |
|
|
Oct 9 2006, 15:54
Сообщение
#4
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
7. У вас есть 8 с виду одинаковых монет, одна из которых, тем не менее, фальшивая. Фальшивая монета чуть тяжелее, но во всем остальном идентична настоящим. У вас также есть, в лучших традициях жанра, весы с чашечками, как у богини правосудия. За какое минимальное число взвешиваний можно определить фальшивку? (популярная задача) 2 взвешивания строго достаточно... Можно ли за одно не уверен... |
|
|
Oct 9 2006, 16:35
Сообщение
#5
|
|
Читатель Группа: Members Сообщений: 88 Регистрация: 10-July 06 Пользователь №: 630 Пол: Мужской |
есть 9 монет, 1 фальшивая ( не сказано, легче или тяжелей ). вопрос тот же.
-------------------- - Вы акула пера?
- Нет, дятел клавиатуры! |
|
|
Oct 10 2006, 08:24
Сообщение
#6
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
|
|
|
Oct 10 2006, 10:42
Сообщение
#7
|
|
Читатель Группа: Members Сообщений: 88 Регистрация: 10-July 06 Пользователь №: 630 Пол: Мужской |
2 тебе весы ваще нужны ? может сразу пальцем тыкнешь ? 2 можно тока если заранее знаешь тяжелее или легче. а если нет ? -------------------- - Вы акула пера?
- Нет, дятел клавиатуры! |
|
|
Oct 10 2006, 10:56
Сообщение
#8
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
|
|
|
Oct 10 2006, 11:00
Сообщение
#9
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
|
|
|
Oct 10 2006, 11:41
Сообщение
#10
|
|
Читатель Группа: Members Сообщений: 13 Регистрация: 18-September 05 Пользователь №: 70 |
|
|
|
Oct 10 2006, 12:03
Сообщение
#11
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
|
|
|
Oct 10 2006, 12:18
Сообщение
#12
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
|
|
|
Oct 11 2006, 15:40
Сообщение
#13
|
|
Беллетрист Группа: Members Сообщений: 617 Регистрация: 19-September 05 Пользователь №: 107 Пол: Женский |
Можно за 3! 9 монет делятся на три группы по три монеты в каждои: X,Y,Z. 01. взвешиваем X и Y: а) если вес одинаков X=Y, то "левая" монета находится в группе Z, тогда sм.пункт 03 б) если X тяжелее Y тогда либо тяжелая монета в группе X, либо легкая монета в группе Y 02. Взвешиваем X и Z: а) если вес одинаков X=Z, то "левая" монета находится в группе Y и она легкая б) если X тяжелее Z, X то "левая" монета находится в группе X и она легкая 03. имеем группу из трех монет x,y,z (что аналогично предыдущеи ситуации с наличием трех групп) где одна из них определенно - "левая". взвешиваем две любые из них, скажем x и y a) если вес обоих монет одинаков x=y, то ясно что "левая" монета z, и если заранее было ясно тяжелая она или легкая, то задача решена. если как результат 01а) не было ясно тяжелая она или легкая то дополнительное взвешивание x или y с монетои z этот вопрос прояснит. b ) если вес монет неодинаков, то зная заранее ищем ли мы легкую или тяжелую монету, мы ее тут же находим а если, как результат 01а), мы не знали заранее тяжелую или легкую монетy мы ищем, то то опять таки поможет дополнительное взвешивание x или y с монетои z. вроде, по-любому три взвешивания, как можно за два взвешивания разобраться? |
|
|
Oct 11 2006, 15:46
Сообщение
#14
|
|
Беллетрист Группа: Members Сообщений: 617 Регистрация: 19-September 05 Пользователь №: 107 Пол: Женский |
19. Почему пивные банки скошены сверху и снизу? (Microsoft) тут версий немало, например: производители пива таким способом пиво недоливают мне нравится версия, что такие банки, составленные вместе, имеют зазоры между рядами, где можно продувать воздух и таким образом эти банки передвигать |
|
|
Oct 11 2006, 17:40
Сообщение
#15
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
тут версий немало, например: производители пива таким способом пиво недоливают мне нравится версия, что такие банки, составленные вместе, имеют зазоры между рядами, где можно продувать воздух и таким образом эти банки передвигать Не понял нафига надо их двигать да еще струей воздуха? Мне кажется, что просто такую банку в руке держать удобнее, чем просто цилиндрическую. Острая грань руку не режет..... Типа фаски. Может конус и жесткости добавляет немного: жесть то очень тонкая. |
|
|
Oct 11 2006, 17:48
Сообщение
#16
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
9 монет делятся на три группы по три монеты в каждои: X,Y,Z. 01. взвешиваем X и Y: а) если вес одинаков X=Y, то "левая" монета находится в группе Z, тогда sм.пункт 03 б) если X тяжелее Y тогда либо тяжелая монета в группе X, либо легкая монета в группе Y 02. Взвешиваем X и Z: а) если вес одинаков X=Z, то "левая" монета находится в группе Y и она легкая б) если X тяжелее Z, X то "левая" монета находится в группе X и она легкая 03. имеем группу из трех монет x,y,z (что аналогично предыдущеи ситуации с наличием трех групп) где одна из них определенно - "левая". взвешиваем две любые из них, скажем x и y a) если вес обоих монет одинаков x=y, то ясно что "левая" монета z, и если заранее было ясно тяжелая она или легкая, то задача решена. если как результат 01а) не было ясно тяжелая она или легкая то дополнительное взвешивание x или y с монетои z этот вопрос прояснит. b ) если вес монет неодинаков, то зная заранее ищем ли мы легкую или тяжелую монету, мы ее тут же находим а если, как результат 01а), мы не знали заранее тяжелую или легкую монетy мы ищем, то то опять таки поможет дополнительное взвешивание x или y с монетои z. вроде, по-любому три взвешивания, как можно за два взвешивания разобраться? Ключевые слова там: "если повезет". В ваших терминах траектория везения: 1а -> 3а Не понял только ваши навороты в п. 3а. Имеем 3 монеты. Одна из них фальшивая. Взвешиваем 2 из них. Если вес равен, то они обе настоящие. Соответственно фальшивая - третья. Легче она или тяжелее в этом случае уже неважно для ее идентификации. Этот вопрос представляет уже чисто академический интерес. Для его разрешения и можно провести третье взвешивание, которое не является обязательным... |
|
|
Oct 11 2006, 20:21
Сообщение
#17
|
|
Беллетрист Группа: Members Сообщений: 617 Регистрация: 19-September 05 Пользователь №: 107 Пол: Женский |
Ключевые слова там: "если повезет". В ваших терминах траектория везения: 1а -> 3а Не понял только ваши навороты в п. 3а. Имеем 3 монеты. Одна из них фальшивая. Взвешиваем 2 из них. Если вес равен, то они обе настоящие. Соответственно фальшивая - третья. Легче она или тяжелее в этом случае уже неважно для ее идентификации. Этот вопрос представляет уже чисто академический интерес. Для его разрешения и можно провести третье взвешивание, которое не является обязательным... я почему-то решила что надо также узнать тяжелее или легче та монета а если не надо, то деиствительно и 2-мя взвешиваниями можно обоитись. |
|
|
Oct 12 2006, 10:42
Сообщение
#18
|
|
Писатель-маньяк Группа: Members Сообщений: 8,532 Регистрация: 16-September 05 Из: nsc.ch Пользователь №: 20 |
10. Есть три урны из тех, что содержат шары в задачках по теории вероятности. На первой написано "ЧЕРНЫЕ", на второй — "БЕЛЫЕ", на третьей — "ЧЕРНЫЕ И БЕЛЫЕ". В одной лежат белые шары, в другой — черные, в оставшейся — и черные и белые. Все надписи заведомо ложны. Разрешается достать один шар из только одной урны. Как определить в какой урне что лежит? (Microsoft) Как выясняется существует всего 2 варианта распределения шаров по урнам: "Черные" "Белые" "Черные-белые" 1. белые Черные-белые черные 2. Черные-белые черные белые Ответ стало быть прост: Лезем в урну "Черные-белые". Если вынутый оттуда шар черный, то вариант 1, иначе -2. |
|
|
Oct 13 2006, 13:55
Сообщение
#19
|
|
Беллетрист Группа: Members Сообщений: 617 Регистрация: 19-September 05 Пользователь №: 107 Пол: Женский |
17. В вершинах равностороннего треугольника со стороной 200 метров сидит по собаке. По команде "старт!" каждая из них начинает гнаться за своей соседкой слева со скоростью 200 метров в минуту. Каждая собака бежит точно в направлении текущего положения своей (тоже, разумеется, бегущей) цели. Поэтому их траектории представляют некие сходящиеся спирали. Через какое время все собаки сойдутся, (вернее, сбегутся) в центре? (вариант популярной задачи) не мое, но по-моему правильно: Одна собака бежит на встречу другой вдоль соединяющей их прямой со скоростью 200. Составляющая скорости другой собаки вдоль этой прямой равна 200*cos(60)=100. В итоге скорость сближения собак=300, и сбегутся они за 2/3 мин. |
|
|
Oct 13 2006, 14:09
Сообщение
#20
|
|
Беллетрист Группа: Members Сообщений: 617 Регистрация: 19-September 05 Пользователь №: 107 Пол: Женский |
23. Есть круглый бассейн. От его бортика в направлении точно на север отплыла рыба. Проплыв 6 метров, она опять столкнулась с бортиком. Тогда рыба повернула на восток, проплыла еще 8 метров и опять столкнулась с бортиком. Найти диаметр бассейна. (опять Мартин Гарднер) ответ: 10 метров решение: уравнение окружности: x^2+y^2=R^2 начальные координаты: (x_0,y_0) -> x_0^2+y_0^2=R^2 координаты после первого заплыва: (x_0,y_0+6) -> x_0^2+(y_0+6)^2=R^2 -> y_0=-3 координаты после второго заплыва: (x_0+8,y_0+6) -> (x_0+8)^2+(y_0+6)^2=R^2 -> x_0=-4 ->x_0^2+y_0^2=4^2+3^2=R^2, ->R=5. |
|
|
Текстовая версия | Сейчас: 16th September 2024 - 20:57 |