Интересные логические задачки на собеседованиях

    image

    Добрый день, Хабровчане!

    Собеседование, особенно если ты его не прошёл :), вещь не очень приятная. Но мой папа — преподаватель математики часто говорил, что экзамен — это не только способ оценить знания, а и самый действенный метод обучения. Именно на экзамене (в данном случае собеседовании) человек как никогда мотивирован и его мозг работает на все 100%.

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

    Итак, самые интересные задачки которые мне задавали на собеседовании:

    Задачка 1: Про бассейн, лодку и гирю

    Есть маленький бассейн. В нём плавает лодка. На стенке бассейна отмечен текущий уровень воды.
    Ещё есть чугунная гиря. В каком случае уровень воды в бассейне поднимется больше: если опустить гирю в воду, или если опустить гирю в лодку?

    Задачка 2: Про бикфордовы шнуры

    Есть два бикфордовых шнура и зажигалка. Шнуры могут гореть неравномерно. Единственное что о них известно — это то, что гореть каждый из них будет ровно час. Как с помощью этих предметов засечь 45 минут?

    Задачка 3: Про скалу и верёвку

    Вертикальная скала высотой 100 метров. На вершине вбит крюк за который можно привязать верёвку. Прямо под этим крюком на высоте 50 метров есть небольшая площадка на которую можно встать и ещё один крюк. На вершине скалы стоит альпинист. У него есть 75 метров верёвки и нож что-бы её резать. Как альпинисту спуститься со скалы? Длиной верёвки потраченной на узлы пренебрегаем.

    Задачка 4: Про планету и особые точки

    Есть ли на планете Земля точки (если есть, то где они находятся), удовлетворяющие следующему условию: Если пройти из точки 100 км на север, потом 100 км на восток, а потом 100 км на юг, то окажешься в исходной точке.

    Две из этих задачек я находил в интернете. Немного по-другому сформулированных.
    Две не нашёл. Может плохо искал.
    Пишите свои ответы в коментах.
    А главное, пишите свои интересные задачки, и ссылки на ресурсы где их можно найти.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 107
    • +2
      Задачка 4
      Южный полюс

      Задачка 3
      Отрезаем треть верёвки, привязываем к верхнему крюку. С другой стороны делаем петельку, и продеваем в неё оставшийся кусок (50м). Спускаемся на уступ сначала по первой части (25м), затем держась за оба конца (длиной 50/2 м). Вытаскиваем один конец из петельки, цепляем за крюк и спускаемся на оставшиеся 50 метров.
      • 0
        Третья правильно
        Четвёртая: этих точек гораздо больше
        • 0
          А, дошло.
          Вас предупреждали

          Масштаб не соблюден.
          • +1
            Плюс ещё где длина окружности равна 50, 33.3, 25 и т.д
          • 0
            Четвёртая, где точек действительно больше
            Действительно, пройдёт для всех точек параллелей северных широт, которые на 100 км южнее тех параллелей, у которых длина окружности равна 100/N км, где N целое от 1.
        • +2
          Ваш ответ третьей задачи хорош. А вот мне пришло в голову только это:
          Убийственное решение
          — Привязать веревку на верхний крюк
          — Спуститься до нижнего крюка и привязать низ веревки (50й её метр) к нижнему крюку
          — Снова подняться по веревке наверх на 49,5 метров
          — Обрезать веревку и пролетев 99 метров, остановиться держась за веревку в полуметре от земли
          — Спрыгнуть на землю :)

          Для этого достаточно всего 50м веревки, а не 75. Вероятность выживания альпиниста не 100% :)
      • 0
        Спойлер!
        В первой интуиция говорит, что в в случае, если гирю положить в лодку.
        Во второй надо шнуры с обеих сторон поджигать, дабы 30 минут и 15 минут отмерить.
        В четвертой — как минимум одна.

        Полюс поменять на южный.
        • 0
          Задача 4
          Счетное число несчетных точек плюс одна.
          • +1
            Вторая
            Один шнур с обоих сторон а второй с одной стороны, а через полчаса, когда сгорит первый, и со второй стороны
            • 0
              В условии сказано, что шнуры горят неравномерно. Что если первая половина шнура горит быстрее чем вторая половина?
              • +4
                Встретятся огоньки все равно через пол часа, просто место встречи не будет в середине шнура. Это как искать центр масс на швабре.
            • 0
              1
              В лодке вытеснит больше

              2 — не решал, потому что уже раньше наталкивался на такую задачу и видел ответ
              3
              Первое решение о котором подумал слишком сложное. Спустится на площадку привязать нож на 2/3, зафиксировать второй конец, подняться отвязать наверху и перекинуть треть верёвки, завязать затягивающуюся петлю с нижней стороны от ножа, с обратной стороны от лезвия. Спустившись, крутить верёвку пока нож не повернётся на 180 и разрезать узел дистанционно — получим 75 метров верёвки на уступе)
              Потом додумался до нормального решения — спуститься, привязать ко второму крюку, подняться до конца первой трети, закрепиться и сделать под собой петлю. Нижнюю часть обрезать и продеть в петлю — спускаться по незакреплённому концу, а затем вытянуть верёвку за другой конец — это 50 метров верёвки и петля на высоте 75.

              4 (важно!)
              Тоже видел загадку, но почему-то везде ответы ограничены только южным полюсом, хотя в действительности таких точек бесконечно много, если вспомнить что можно ходить вокруг северного полюса благодаря полярной шапке. Правильный ответ — это южный полюс, + все точки окружности радиуса (1+1/(2п))*100 км вокруг северного, + точки окружности радиуса (1+1/(4п))*100 вокруг северного, и вообще все точки всех окружностей радиусов вида (1+1/2пN)*100 км с центром на северном полюсе. (формулы примерные, не учитывают сферичность Земли на масштабах ~2,35 км)
              • +2
                Как сложно вы решаете задачу №3
                Делается все проще, отрезаете кусок длинной 25 м, делаете в нем петлю и привязывате к крюку. Оставшиеся 50 м продеваете в петлю и спускаетесь ровно на 50 м=(25+50/2).
                Далее вытягиваете 50 м кусок и привязываете его к крюку, спускаетесь еще на 50 м.
                • –1
                  Не надёжное решение… Я не альпинист, но мне кажется что спуск по двум незакреплённым концам это чит и в реальном мире так бы не рисковали (если чуть чуть соскользнул на одной верёвке, то вторая немного сместилась относительно первой вверх — длины не хватит снизу, придётся спускаться до верхнего из двух концов, привязывать его где попало, подниматься на середину, поднимать верёвку, развязывать и начинать сначала). Лучше как в моём варианте — один из двух перекинутых в петлю 25 метровых концов закреплён уже на крюк внизу, а по второму спускаемся. Так более инженерно, как мне кажется.
                  • 0
                    Неее…
                    Решение нормальное, когда вы продеваете веревку через петлю то получается простейший блок.
                    Да и вообще главное же решить задачу с помощью наименьшего количества действий и условий.
                    • 0
                      спуск по двум незакреплённым концам
                      Можно связать в кольцо.
                      • 0
                        Вот так — да, соглашусь. Лучшее решение.
                      • +3
                        Объясняю как альпинист :)
                        1. Режем верёвку на 25 и 50 м.
                        2. Делаем петлю на конце 25-метровой верёвки из сдвоенной «восьмёрки» (так надежнее).
                        3. Привязываем к точке свободный (без петли) конец 25метровой верёвки.
                        4. Привязываем к себе 50 метров оставшейся части.
                        5. Вщёлкиваем спусковое устройство (пусть будет «стакан»)в 25-метровую верёвку.
                        6. Начинаем спуск
                        7. Едем(спускаемся) до петли.
                        8. Блокируем спусковое устройство. Вщёлкиваем жумар с усом(петлё) 1 м.
                        9. Зависаем на жумаре таким образом, чтобы разгрузить спусковое.
                        10. Продеваем один конец 50м верёвки через петлю, что на 25метровой верёвке. Завязываем на нём узел (грепвайн)
                        11. На втором конце 50м верёвки также завязываем узел (грепвайн).
                        12. Спускаем 50 м верёвку вниз следя за тем, чтобы узлы были рядом.
                        13. Выщелкиваем спусковое устройство из 25 м верёвки.
                        14. Вщелкиваем спусковое устройство в два конца 50метровой верёвки.
                        15. Блокируем спусковое устройство. Загружаем его (зависаем на нём)
                        16. Выщелкиваем жумар.
                        17. Разблокируем спусковое и едем вниз до площадки.
                        Узлы на концах не дадут верёвке вылететь из спускового устройства!

                        На площадке:
                        1. Пристраховываемся к точке спуска
                        2. Выщелкиваем спусковое устройство
                        3. Развязываем 1 узел в конце верёвки
                        4. Привязываем этот конец к точке спуска.
                        5. Развязываем второй узел на конце верёвки
                        6. Сдёргиваем верёвку (тянем за привязанный к точке конец)
                        7. Когда верёвка упала на площадку, на свободном (непривязанном) её конце делаем узел для страховки и сбрасываем вниз
                        8. Вщелкиваем спусковое в верёвку
                        9. Выщелкиваем страховку
                        10. Едем до земли.
                  • +1
                    Задачка 1
                    Уровень поднимется пропорционально вытесненному объёму воды. Только в случае ещё плавающей лодки вытесненный объём обратно пропорционален плотности воздуха, в в случае кидания гири напрямую — обратно пропорционален плотности гири.

                    То есть классический ответ — гиря вытеснит меньше.

                    Однако в задачке не указано, что за лодка (обычная, или подводная) и есть ли в гире пустоты. В случае подводной — гиря вытеснит больше ;)
                    • 0
                      Дедушка Архимед с вами не согласен
                      • 0
                        Задачка 1
                        Если лодка после опускания в неё гири затонет, то уровень воды и опуститься может.
                        • 0
                          Затонувшая, с гирей, лодка вытеснит воды больше, чем просто затонувшая гиря. Объём лодки прибавится.
                          • +3
                            У лодки может быть большое водоизмещение при небольшом объеме. Соответственно, плавающая она будет вытеснять воды много, а затонувшая — чуть-чуть.
                            • 0
                              Я пока не могу писать без модерации своих сообщений, поэтому не смог дополнить:
                              Рассматривались система — затонувшая гиря и система — затонувшая гиря + затонувшая лодка.
                              Если рассматривать системы: затонувшая гиря + лодка на поверхности воды и затонувшая гиря и затонувшая лодка, то, во втором случае уровень, воды даже понизится.
                              P.S. Читал быстро, поэтому на сообщении https://habrahabr.ru/post/342304/#comment_10519546 воспринял «уровень воды» как «объём воды».
                            • 0
                              del. опоздал
                        • +27
                          Самое смешное что в этих задачках нет ничего логического
                          А умение их решать никак не связанно с программированием
                          Но почему иногда их любят притянуть на собеседования
                          Помнится не очень давно проскакивала новость, о том что по моему даже в гугле от них отказались на собеседованиях
                          • +13
                            Зато какой шикарный способ унизить соискателя и срезать его зарплатные ожидания!

                            Хотя первая задача и отличается от остального интеллектуального анонизма, но как знание двух простых физических законов соотносится с умением говнокодить — загадка.
                            • 0
                              Зато какой шикарный способ унизить соискателя и срезать его зарплатные ожидания!

                              Это может и сработает, но только в случае если для соискателя эта работа будет первой. В противном случае, глупые задачки от HR'а, не относящиеся к будущей работе, вызовут обратный эффект.
                              • 0
                                Ну скорее всего соотносится как знания принципов работы каких-либо элементов или даже просто оптимизации. Мы же задачу по вытеснению решаем в любом случае, вопрос как решить её лучше и улучшить результат. Мне чем-то напоминает старое тривиальное объяснение разницы между else-if и switch. Мол else-if на определенном маленьком количестве условий быстрее switch, и сравнивая с данной задачкой, мы можем опустить гирю в лодку и вытеснение будет больше, но если она утонет, может выйти даже хуже, чем просто утопить гирю. Это как знание классов и прочее в программе, есть вещи очевидные, а есть интересные решения в тех же условиях, которые требуют соответствующих знаний.
                                • 0
                                  У любого нормального кандидата на руках стабильно несколько офферов. Снижать его зарплатные ожидания, это как стрелять себе в ногу.
                                  • 0
                                    шикарный способ унизить соискателя и срезать его зарплатные ожидания!

                                    Может практиковаться и просто ради Культа Карго, без связи с зарплатой, но с отсевом тех, кто задание завалил.

                                  • +5

                                    От них не только в гугле отказались, а вообще везде. Да и сами задачи бородаты до невозможности. Возможно, автор не прошёл собеседование в 2005-ом, сильно расстроился и впал в стазис, а теперь вышел из него, но ещё не знает, что на дворе 2017-ый, и теперь унижаютсобеседуют иначе .

                                    • 0
                                      да уж, похоже на вступительный тест в клуб имени Нильса Бора.
                                      • 0
                                        Я думаю, цель подобных задач проверить lateral thinking, умение искать решение за пределами очевидного. Такое умение нужно программисту для эффективного поиска ошибок, уязвимостей и путей оптимизации. В быдлокодинге оно только мешает.
                                      • 0

                                        Думается для отбора программистов лучше подходят задачи типа загадки Эйнштейна

                                        • +1
                                          С решением на прологе.
                                          • +1

                                            пролог хорошо правит логику

                                        • 0
                                          Задача 1. Архимед одобряет!
                                          image

                                          Главное не убежать голым с собеседования.
                                          • 0
                                            №3 - смотря из чего веревка
                                            Если это обычный канат, то можно распутать пополам и связать вместе, тогда и платформа не нужна.

                                            Другой вариант, наверняка есть какой то узел, который при постоянном натяжении не развяжется, а при подергивании или при резком рывке да, тогда можно такой сверху связать, спуститься до 50м, подергать там или еще че, и продолжить.

                                            Третий вариант: Отрезать 25м и привязать к петле, потом сделать еще одну петлю на оставшемся конце.
                                            На 50м куске сделать петлю для ноги и продеть в петлю на 25м. Спустившись до 25м, вставить ногу в петлю на 50м куске (заранее сделанной), и держа другой конец руками спустить себя до платформы. т.к. 50м кусок у вас остался, просто завязать на платформе и все.


                                            А другие я уже видел.
                                            • 0
                                              Распутать не вариант — возможно что не хватит прочности у троса половинной толщины.
                                              Узел при подёргивании как раз не надо — верёвка нужна как раз как страховка, т.е. если сорвёшься.
                                              • 0
                                                Еще один вариант 3 задачи
                                                По-моему, самый простой вариант — просто продеть в этот верхний крюк веревку, сложить ее и спуститься вниз по сложенной надвое веревке. Потом потянуть её вниз, стоя на уступе, и спуститься на землю, имея на руках целую веревку в 75м
                                                • 0
                                                  Только если сложить вдвое — получится 37.5 метров, а нужно 50
                                                  • 0
                                                    Да-да, с утра казалось, что ничего сложного в задачке нет)
                                              • +1
                                                Эти задачки выглядят понятнее и проще на фоне задачи, которую задали в 4 классе мое дочке:

                                                Два одинаковых ящика с песком со стороной ребер 1 метр. В один ящик выливают литру воды, а во второй литру газировки. Что быстрее протечет через ящики вода или газировка?

                                                • 0
                                                  Это что-то про физику и плотность или просто случайная задачка на эрудицию была?
                                                  • +3
                                                    Песка слишком много. За счёт поверхностного натяжения жидкость будет формировать мостики между крупицами песка, отверстия в получившейся водно-песочной структуре будут создавать высокое давление стягивающейся поверхности жидкости, вода будет проникать в глубь песка за счёт давления высоты столбика жидкости, но с увеличением глубины проникновения вода будет смачивать всё больше песка, значит всё меньше воды будет учавствовать в формировании гидростатического давления, и всё больше — в механическом давлении сил адгезии. Эти силы будут ещё больше сжимать вещество (слипающийся песок) что потребует ещё большего давления для перколяции. В итоге вода не должна дойти до дна ящика, или до стенок — она будет в песке пока не испарится. Наличие пузырьков воздуха на исход не повлияет. Если уменьшить или убрать поверхностное натяжение то тогда жидкость может протечь через кубометр песка. Рекомендую использовать сверхтекучий гелий. Газированый сверхтекучий гелий будет двигаться медленнее, поскольку углекислый газ при контакте с ним будет замерзать, а значит газированный сверхтекучий гелий = гелий с гранулами замёрзшей углекислоты. Т.е. в среднем еденица жидкости должна будет протечь мимо песка + мимо гранул которые в ней содержатся, это будет немного дольше.
                                                    Если же поиграться с условиями задачи, то можно сказать что жидкость выливают в ящик вблизи его стенки, и тогда часть будет просачиваться через стенки. В этом случае у газированной воды будет преимущество. Большая часть газа улетучится, но часть пузырьков осядет на песке, и сформирует дополнительную подушку, которая воспрепятствуют проникновению воды в песок, и большее её количество прольётся через край (если предположить что ящик деревянный, в нём широкие щели и просачивание жидкости через стенки вообще имеет место).
                                                    Также можно увеличить объём воды, чтобы сделать его достаточным для смачивания всего песка в ящике. В таком случае газировка будет делать это немного медленнее (пузырьки газа будут мешать формированию мостиков) и раньше накопит достаточное гидростатическое давление чтобы использовать максимальную площадь боковой поверхности ящика чтобы вытекать через неё. Однако при дальнейшем увеличении количества воды первенство возьмёт негазированная, т.к. она раньше достигнет дна ящика и песок начнёт функционировать как дроссель.
                                                    • 0
                                                      Да, хорошо, что вы представляете, что такое физика, но детям зачем такие дают в 4 классе?
                                                      Я подозреваю, что такие задачи дают чтобы дети обратились к родителям за помощью, а те в свою очередь напрягли мозги… или Интернет.

                                                      Кстати, кто-нибудь нашел решение этой задачи в инете?
                                                      • 0
                                                        Может, плотность газировки выше, чем плотность воды, а потому и она дольше будет проникать в песок и быстрее польётся наружу
                                                      • 0
                                                        Вы предполагаете, что ящики наполнены песком полностью, а в условии этого не было. Так что нужно оговариваться «предполагаем, что ящики полностью наполнены песком».
                                                      • 0
                                                        Может имеется ввиду что ни вода, ни газировка вообще не пройдут метр песка?
                                                        • 0
                                                          Скорее всего это верный ответ. Метр песка все таки много.
                                                          Метра песка у меня нет, но есть цветок в большом горшке. В него легко можно вылить 1 литру воды и она не выйдет из нижних отверстий горшка. Если пренебречь, что в горшке земля, то это можно взять как подходящий эксперимент для этой задачи.
                                                          • 0
                                                            А в условии сказано, что ящики полностью наполнены песком?
                                                            • 0
                                                              Честно говоря не обратил внимания на этот момент. Возможно еще и в этом заковыка задачи. Чтобы дети по разному думали!
                                                        • 0
                                                          Конечно, газировка. Вы опыты с ментосом и колой ни разу не видели?)
                                                        • –1
                                                          Есть две переменные a,b — a = 5, b = 2. Нужно поменять в них значения так что бы b = 5, а а = 2. Как это сделать?
                                                          • +3
                                                            python в этой задаче рулит :) a, b = b, a
                                                            • 0
                                                              Забыли уточнить — без использования третьей переменной.
                                                              • 0
                                                                Спасибо за уточнение. Без использования третьей переменной или памяти.
                                                                • 0
                                                                  a = a+b, b = a — b, a = a — b, седьмой класс программирование…
                                                                  Гораздо интереснее задача станет если
                                                                  int a,b
                                                                  a = 2147483646
                                                                  b = 2
                                                                  и обработка переполнения на платформе выдаёт ошибку
                                                                  • 0
                                                                    Верный ответ :-).
                                                                    • –1
                                                                      Я знаю другой верный ответ
                                                                      a = a ^ b;
                                                                      b = a ^ b;
                                                                      a = a ^ b;
                                                                      Но как поясняют знающие люди, память (кэш) все равно используется при совершении операций.
                                                                      • +1
                                                                        Нет не обязательно используется. Достаточно 2 регистров(intel masm notation)
                                                                        XOR eax,ebx
                                                                        XOR ebx,eax
                                                                        XOR eax,ebx
                                                                        и они поменяются местами, что соответствует Вашему коду буквально.
                                                                        впрочем можно и так :)
                                                                        XCHG eax,ebx

                                                                        Кстати в С++ правильнее использовать std::swap() она как правило занимает 0 операций, то есть компилятор делает ее во время компиляции.

                                                            • 0
                                                              Просили задачек? Их есть у меня.

                                                              Задачка 1: Про бассейн, лодку и гирю
                                                              Есть маленький бассейн. В нём плавает лодка. На стенке бассейна отмечен текущий уровень воды.
                                                              Ещё есть чугунная гиря. В каком случае уровень воды в бассейне поднимется больше: если опустить гирю в воду, или если опустить гирю в лодку?
                                                              +++
                                                              Предполагаем, что в задаче нет лишних слов.
                                                              Раз бассейн маленький, то это нам тонкий намёк, прямо-таки ружьём по стене, что чего-то может и не хватить, подсказка, что нужно не забыть проверить предельные, граничные значения. Ну и раз бассейн маленький, то не упускаем из виду, что и лодка может быть маленькая.

                                                              И тут вариант опустить (литературнее сказать – поместить) гирю в лодку распадается на целый веер задач:
                                                              Лодка в грузу может встать на дно бассейна, при том что гиря утонула бы с головой.
                                                              Лодка с гирей может остаться на плаву, при том что уровня воды в бассейне не хватит на то, чтобы целиком погрузить в него гирю саму по себе.
                                                              Наконец, лодка с гирей может и… затонуть.
                                                              Тут у нас появляется новое раздвоение условий, которое подводит нас к самой интересной задаче: что мы увидим, по сравнению с просто утонувшей гирей, если лодка из материала плотнее воды (сварена из урановых ломов), а что, если она «пробковая»?
                                                              • 0
                                                                А может тогда стоит относить эти задачи к задачам с некорректно поставленными условиями? Раз много решений, значит в постановки задачи что-то пропущено.
                                                                • 0
                                                                  Не будте таким занудой!
                                                                  Бассейн маленький — потому-что в большом изменение уровня воды будет очень маленьким, на глаз незаметным.
                                                                  Лодка с гирей не утонет и не сядет на дно.
                                                                  Не развалится и дно лодки не проломится.
                                                                  Стенки бассейна вертикальные и при помещении гири в воду или в лодку — вода не перельётся через края бассейна, не уйдёт в слив и тп.
                                                                  Испарением воды и разширением-сжатием воды из-за изменения температуры принебрегаем
                                                                  Может я ещё что-то забыл
                                                                  И при вышеуказаных условиях материал лодки (пробка или уран) не имеют значения.
                                                                • –1
                                                                  Уже сталкивался с решением
                                                                  3 задачи
                                                                  Разрезаем 75 метров на 50 и 25.
                                                                  На концах 25 делаем петли.
                                                                  Одну петлю 25-метровой надеваем на крюк, во вторую продеваем сложенную вдвое 50-метровую веревку.
                                                                  Спускаемся на площадку и вытягиваем из петли свою 50-метровую веревку. Спускаемся на землю.
                                                                  • 0
                                                                    Интересно, задач ранее не встречал, ответы которые пришли в голову :)

                                                                    1.
                                                                    Казалось бы лодка с гирей должна поднять уровень воды выше, чем гиря в воде, но не ясно объем гири (плотность материала, вес и т.п., да и у нас в зале, например, гиря 16кг по объему больше гири 32кг), не известно площадь днища лодки, форма дна (чем больше площадь соприкосновения дна лодки с водой — тем меньше лодка вытеснит воды… при некоторых условиях гиря в бассейне поднимет уровень больше гири в лодке, и наоборот.

                                                                    Скорее всего лодка должна вытеснить больше.


                                                                    2.
                                                                    прикинуть 3/4 на каждом из шнуров и поджечь их одновременно, когда точка горения каждого будет граничить 3/4 — 1/4 — будет примерно 45минут, конечно с погрешностью в несколько секунд


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

                                                                    на высоте 50 метров, стоя на площадке, сделать «волну» веревкой, что ослабит веревку от ножа, нож упадет (осторожно, чтобы в глаз не попал), и веревка свалится вниз, далее привязываем веревку в второму клюку, теперь нож не нужен (пусть падает вниз) — и мы на земле, ничего резать не надо.


                                                                    ну и 2 задачи которые слышал чаще всего )

                                                                    1. На столе лежат девять монет. Одна из них — фаль­шивая. Как при помощи двух взвешиваний можно найти фальшивую монету? (Фальшивая монета легче настоящих.)

                                                                    2. Есть две изолированные друг от друга комнаты. В одной находятся 3 лампочки, в другой — три выключателя. Вы стоите в комнате с выключателями и можете перейти в комнату с лампочками лишь один раз. Необходимо определить, какая лампочка включается каким выключателем.
                                                                    • +2
                                                                      Вторая задача имеет общеизвестное решение, которое в общем случае неправильное, учитывая, что в задаче не указано, успеет ли лампа остыть за время перехода из комнаты в комнату, греются ли вообще лампы. С тем же успехом, можно смело перейти во вторую комнату, разбить все лампы и сказать «Ни одна из них не включается теми тремя выключателями».
                                                                      • +1
                                                                        странно что нет задачки про гномов и двухцветные шапки.
                                                                        ну и ещё одна, больше на пространственное воображение: как повесить картину на веревке на два вбитых гвоздя, чтобы при выдёргивании любого из них она падала.
                                                                        • 0
                                                                          Когда ходил на собеседования у нескольких работодателей была задача про вёдра ). «Дано: река (воды сколько угодно), ведро 7 литров, ведро 5 литров. Нужно получить: 4 литра, воду можно набирать и выливать сколько угодно.»
                                                                          • +1
                                                                            Как будто вы крепкий орешек три не смотрели…
                                                                            • 0
                                                                              Тут смешно то, что вертеть можно в любом направлении.
                                                                              Называем одно ведро ПЕРВЫМ, другое ВТОРЫМ.
                                                                              Алгоритм:
                                                                              1. Если первое ведро ПУСТОЕ, наполняем его.
                                                                              2. Если второе ведро ПОЛНОЕ, опустошаем его.
                                                                              3. Если ни 1, ни 2 не имеют места — переливаем из первого во второе. И так до победного конца.
                                                                              Смотрите, как оно будет. Пусть первое ведро — на 5 литров. В скобках — действие.
                                                                              0 0 (1)
                                                                              5 0 (3)
                                                                              0 5 (1)
                                                                              5 5 (3)
                                                                              3 7 (2)
                                                                              3 0 (3)
                                                                              0 3 (1)
                                                                              5 3 (3)
                                                                              1 7 (2)
                                                                              1 0 (3)
                                                                              0 1 (1)
                                                                              5 1 (3)
                                                                              0 6 (1)
                                                                              5 6 (3)
                                                                              4 7 — вуаля!
                                                                              А теперь пусть первым ведром будет на 7 литров:
                                                                              0 0 (1)
                                                                              7 0 (3)
                                                                              2 5 (2)
                                                                              2 0 (3)
                                                                              0 2 (1)
                                                                              7 2 (3)
                                                                              4 5 — ух ты, а так куда быстрее.

                                                                              Но если оно вообще получается (а оно получается, когда то, что нужно добыть, кратно НОД объёмов вёдер) — оно получится и так, и так.
                                                                              • 0
                                                                                Верный ответ :-). Спасибо.
                                                                                • 0
                                                                                  Может я неверно понял задачку, и признаюсь, не понял решение. Вот мой вариант: в пустое ведро на 7 литров налить из полного 5. Отметить пальцем уровень, и долить из реки до полноты в 7 литров. Вылить из ведра на 5 литров воду. Из ведра на 7 отлить до отметки в ведро на 5, это будет 2 литра. Затем опять полностью заполнить из реки ведро на 7 и вылить до отметки в ведро на 5. После этого в ведре на 5 будет 4 литра воды.
                                                                            • 0
                                                                              1. Берешь 2 пустых ведра
                                                                              2. Набираешь 7л воды в ведро
                                                                              3. Погружаешь 5л ведро в 7л, вытесняя воду из 7л. В 7л ведре остается 2л — выливаешь их в 5л.
                                                                              4. Повторить п.3
                                                                              5. В 5л ведре — 4л воды
                                                                              • 0
                                                                                Тоже верно, но есть зависимость от размера 5л. ведра, к примеру вдруг оно широкое и не входит в 7-ми литровое ведро.
                                                                            • +1
                                                                              Задачка 1: Про бассейн, лодку и гирю
                                                                              В данной формулировке имеет множество решений в зависимости от:
                                                                              размеров бассейна, лодки, гири, плотности материала лодки относительно гири (упрётся ли лодка в дно, затопит её водой или нет, или останется на плаву)

                                                                              Более однозначная формулировка:
                                                                              «Лодка плавает в небольшом бассейне. Как изменится уровень воды в бассейне, если из лодки осторожно опустить в бассейн большой камень?»
                                                                              • 0
                                                                                задача 1
                                                                                Поскольку в задаче ничего не сказано про материалы лодки и гири, предположим что лодка сделана из материала бесконечно малой толщины и плотности, гиря имеет бесконечно большую плотность, а бассейн — конечные размеры. Тогда опустив гирю в бассейн его уровень увеличится на бесконечно малую величину (т.к. объём гири бесконечно мал). А поместив гирю в лодку — уровень увеличится на конечную величину (т.к. вес гири — конечен), то есть больше чем от помещения гири в бассейн.

                                                                                • 0
                                                                                  Рассмотрим вариант если задачу 1 решать буквально — т.е. в бассейне вода при нормальной температуре, гиря (ну допустим пудовая, хотя вес не важен, можно и двух пудовую) сделана из железа, лодка деревянная или пластиковая, нормального размера т.е. не игрушечная и от гири не утонет.
                                                                                  В такой ситуации когда гиря в лодке уровень будет выше чем когда гиря в воде т.к. плотность гири в 3 раза выше плотности воды. Почему? Находясь в лодке гиря вытеснит воду по весу — три своих объёма. А находясь в воде только один свой объём. Избыток массы можно не учитывать т.к. она лежит на дне.
                                                                                  • 0
                                                                                    Вот это самый развёрнутый ответ!
                                                                                    • 0
                                                                                      Только, стыд и позор, я забыл плотность железа. Гиря в 7.8 раза плотнее воды а не в 3.
                                                                                      • 0
                                                                                        может проще сесть в лодку вместе с гире
                                                                                    • +1
                                                                                      Мне никогда не задавали такие задачи на собеседованиях. И я никогда не спрашивал ничего такого на собеседованиях. Куда полезнее поговорить с соискателем о его прошлых проектах, узнать почему принимались те или иные технические решения, спросить как бы он решал ту или иную проблему, какие практики они применяли в командной работе и т.д. В таком разговоре можно легко подниматься/опускаться по уровням абстракций, дабы убедится что соискатель понимает и низкоуровневые вещи и высокоуровневые концепции.

                                                                                      Задавать такие задачи смысла не имеет. Разве что вы нанимаете решателя логических задачек.

                                                                                      Зато их можно обсудить с коллегами за обедом.
                                                                                      • 0
                                                                                        Ещё одна задача — похожая на гирю в лодке, но, как по мне интересней: в бассейне льдина, на льдине — лом; что произойдёт с уровнем воды, когда льдина растает (поднимется ль, опустится или останется прежним)?
                                                                                        • 0
                                                                                          Плотность воды 1, плотность льда 0.9, плотность лома 7.8. Объём лома в куб.см примем за 1 условную единицу. Лом, плавая на льдине, вытесняет не менее 87 у.е. Т.е. если лом переместить со льдины в воду, её уровень упадёт на 86 уе. Потом лёд (в количестве минимум 87 уе) растает и получится вода в объёме 78 уе — уровень воды поднимется, но не до прежнего уровня. Т.е. в итоге уровень воды упадёт не менее чем на 9 уе.
                                                                                          • 0
                                                                                            Мне кажется, что если убрать весь лишний лёд (которій никак не повлияет на уровень), и оставить полностью утопленую «подушку» которой хватает ровно на то чтобы держать лом, то она будет объёмом:
                                                                                            1*x = 0.9*x + 7.8*1;
                                                                                            x = 78 (у.е.);
                                                                                            После удаления лома она поднимется на одну десятую своего объёма — 7.8 у.е.
                                                                                            А лом вытеснит 1 у.е. Соответствено общий объём водоизмещения упадёт на 6.8. После таяния льда он займёт столько же объёма, сколько занимал в свободном плавании, и 6.8 окончательная величина. Уровень воды упадёт строго на (примем площадь поверхности водоёма за очень условную еденицу) delta_h = -6.8 (у.е./о.у.е.)
                                                                                            • 0
                                                                                              Мне кажется, что если убрать весь лишний лёд (которій никак не повлияет на уровень), и оставить полностью утопленую «подушку» которой хватает ровно на то чтобы держать лом, то она будет объёмом:

                                                                                              (7.8/0.9)/(1-0.9)=86.(6)
                                                                                              • 0
                                                                                                А откуда там /0.9?
                                                                                                Вытесненная вода весит 1*х
                                                                                                Лёд весит 0.9*х, а ещё вес лома 7.8*1
                                                                                                уравнение х = 0.9х + 7.8
                                                                                                х — 0.9х = 7.8
                                                                                                (1 — 0.9)х = 7.8
                                                                                                х = 7.8/(1 — 0.9) = 7.8/0.1 = 78
                                                                                                • 0
                                                                                                  Вы за х что принимаете?
                                                                                                  • 0
                                                                                                    Объём вытесненной воды. Он же — объём льда.
                                                                                                    • 0
                                                                                                      Его невозможно вычислить исходя из условий задачи, т.к. мы не знаем объём лома и объём всего льда. Нужно считать сколько объёмов воды вытеснит объём лома с помощью льда. Кубические сантиметры везде одинаковые плотность везде разная. 1 кубический сантиметр железа в 7.8/0.9 раз плотнее льда, т.е. если лом заменить аналогичным по весу льдом, то его подводный объём увеличится в 8.66 раза
                                                                                                      • 0
                                                                                                        Ещё раз: лом лежит на уровне воды, весь лёд под водой и вытесняет столько воды, сколько хватит на удержание его веса и лома.
                                                                                                        Если вдруг его больше этого количества — мы можем обрезать лишний лёд до тех условий которые я описал, никак не повлияв на результ. 78 у.е. льда под водой и лом на них — опустят уровень воды после таяния ровно на столько же, насколько айсберг в 1000078 у.е. льда и лом на нём.

                                                                                                        Если лом заменить на такой же по массе лёд, то количество подводного льда не изменится никак, посольку вес не возрастёт.
                                                                                        • –1
                                                                                          Задача 2
                                                                                          Поджигаем одновременно 1 шнур с обеих концов и второй с одного.
                                                                                          Когда догорит 1 (пройдет ровно 30 мин) поджигаем второй с другого конца, оставшаяся «половина» сгорит за (30/2 = 15мин) нужное время.
                                                                                          • 0
                                                                                            Аналогично задачи 1.
                                                                                            Есть бассейн. В нём плавает воздушный шарик. Отмечен текущий уровень воды. Ещё в бассейн забросили якорь. В каком случае уровень воды в бассейне поднимется больше: если якорь связан с шариком, или если якорь НЕ связан с шариком? Длиной связи пренебречь.
                                                                                            • –1
                                                                                              Задача 2
                                                                                              Поджигаем первый шнур с обеих концов. Когда догорел (прошло 30 мин) второй разрезаем пополам и поджигаем обе части с обеих концов одновременно. Когда сгорел последний из этих двух кусков — прошло 15 минут. Итого 45. П.С. Но это неточно)
                                                                                              • –1

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

                                                                                              • 0
                                                                                                у меня в школе была задачка наподобие первой: что тяжелее: килограмм пуха или килограмм железных прутьев
                                                                                                • –1

                                                                                                  Про шнуры. Поджигаем один шнур с обоих концов и одновременно второй шнур с одного конца. Когда встретятся огоньки на первом это 30 мин. В этот момент поджигаем второй шнур со второго конца. Когда встретятся огоньки на нем это будет еще 15 мин) милая задачка

                                                                                                  • 0

                                                                                                    Есть мост, выдерживающий не более двух человек одновременно. По мосту можно идти, только держа в руке фонарик. На одной стороне моста стоят 4 человека с одним фонариком. Скорость движения у людей разная: 1 минута на переход, 2 минуты на переход, 5 минут на переход, 10 минут на переход. За какое минимальное время люди перейдут на другую сторону моста?

                                                                                                  • +2

                                                                                                    адачи встречал в книге 《Как сдвинуть гору Фудзи》 Поудсон кажется автор, лет 10 назад читал. Эти задачи в 80-е использовались на собеседованиях в Майкрасофт. Первые 3задачи достаточно простые, не буду на них тратить время. А вот 4задача сложнее чем кажется. Многие сходу дают ответ — Южный полюс.Этот ответ хоть и правильный, но неполный. До середины 50-х ответ на эту задачу 《Южный полюс》считался единственно верным, пока один математик не показал еще множество вариантов.
                                                                                                    Правильный ответ:
                                                                                                    Бесконечность умноженная на бесконечность плюс один.
                                                                                                    Теперь подробнее:
                                                                                                    Понятно, что +1 это как раз точка Южный полюс.А остальные точки находятся в северном полушарии около северного полюса:
                                                                                                    Очевидно, что есть широта (в высрких широтах) длина окружности которой равна 100км.Назовем ее широта100км Таким образом если мы находясь в точке А в 100км южнее от такой широты 《широта сокружностью 100км》совершим поход как указано в задаче на 100км на север мы окажемся в точке Б на этой широте, далее пройдя по кругу 100км на восток мы опять окажемся в точке Б откуда пройдя на юг 100км мы окажемся в точке А.
                                                                                                    Таких точек на 100км южнее 《широты сокружностью 100км》 бесконечное множество все точки южнее на 100км 《широты с окружностью 100км》. Это первое бесконечное множество.Второе множество бесконечностей связано с тем, что поход из точки Б на восток на 100км с возвратом в точку Б можно не только по 《широте с окружностью100км》 это можно заменить дважды по кругу обойдя 《широту с окружностью 50км》, трижды обойдя 《широту 33.33....333км》, четырежды 《широту25км》 и так до бесконечности.

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