Логические задачи для windows

Логика в программировании: логические задачи с собеседований

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

Полторы белки и логика в программировании

1,5 белки, да: такая задача действительно существует. Давайте посмотрим на условие:

1,5 белки за 1,5 минуты съедают 1,5 ореха. Сколько орехов съедят 9 белок за 9 минут?

Решение
Согласитесь, что 1,5 белки сразу сбивают с толку. На это и рассчитано условие. Здесь важно абстрагироваться от привычных образов и принять во внимание тот факт, что речь идет не о последовательном, а о параллельном выполнении задач. Мне было удобнее представить себе это в виде многопоточности без монитора. Что мы имеем с таким подходом?

1. Если действие выполняется белками параллельно, а не последовательно, 1,5 белки за 1,5 минуты съедают 1,5 ореха. Стало быть, 1 белка за 1,5 минуты съедает 1 орех, а 9 белок за 1,5 минуты съедают 9 орехов.

2. Но это за 1,5 минуты, а нам нужно 9 минут:

  1. Умножаем количество съеденных орехов:

Ответ: 9 белок за 9 минут съедают 54 ореха.

Лампочки и переключатели

В первой закрытой комнате с низким потолком висит 3 лампы накаливания. В другой такой же комнате установлено 3 переключателя от каждой из них. Можно как угодно дергать переключатели, вот только перейти из 2-ой комнаты в 1-ую разрешено только 1 раз. Как узнать, за какую лампочку отвечает каждый из переключателей?

Решение
Здесь не нужно быть математиком: достаточно немного поразмыслить. Помните, что логика в программировании – это необходимый инструмент. Так как мы можем дотянуться до лампочки рукой (низкий потолок), следует на некоторое время включить одну из них на пару минут, выключить ее и включить любую другую. Далее переходим в комнату с лампочками и проверяем:

  • та, которая горит, соединена с последним переключателем, который мы трогали;
  • та, которая не горит и теплая, соединена с первым переключателем, который мы трогали;
  • за не горящую и холодную лампочку отвечает переключатель, который мы вообще не трогали.

Бейсбольный мяч и бита

Здесь работает чистая математика. Условие:

Бейсбольный мяч с битой вместе стоят $13. Но мяч дешевле бейсбольной биты на $3. Рассчитайте стоимость каждого предмета.

Решение
1. Предмета два, следовательно, делим сумму на 2:

2. Мяч дешевле биты на $3, но и бейсбольная бита дороже мяча на $3. Делим разницу на 2:

3. Рассчитываем стоимость каждого предмета:

Ответ: мяч = $5, бита = $8.

Задача о фальшивой монете

Логика в программировании не ограничивается только математической составляющей, но она является одной из ключевых. То же самое и в случае с монетами. Условие:

Дано 12 монет, из которых 11 – настоящие, и только 1 – фальшивая. Фальшивая монета отличается от настоящих по массе. Какое минимальное количество взвешиваний необходимо, чтобы обнаружить фальшивую монету? Для взвешивания используются чашечные весы.

Решение
Задача легкая, хотя многие все равно начинают путаться, отвечая «1» или «2». Минимальное количество взвешиваний – 3, ведь даже если мы взвесим 2 раза, то как мы узнаем, какая из монет фальшивая? Большую часть монет составляют настоящие, так что 2 монеты с одинаковым весом и будут настоящими, третья с другим весом – фальшивой.
Читайте также:  Не дает редактировать реестр windows 10

Ответ: 3 взвешивания.

Сжигаем веревки

Есть 2 веревки и неограниченное количество спичек. Каждая веревка сгорает за час, однако горят они неравномерно, так что нельзя точно узнать, за какое время сгорит определенная часть веревки. Как отмерить с помощью этих двух веревок интервал в 45 минут?

Решение
Горят веревки действительно неравномерно, но полностью сгорают точно за час. Мы можем:

  1. Поджечь оба конца одной веревки и только 1 конец второй веревки.
  2. Как только первая веревка сгорит (пройдет 30 минут, так как горит она с двух концов), поджигаем другой конец второй веревки, и она догорит ровно за 15 минут.

Бочка с водой

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

Решение
Да, логика в программировании может подкинуть и физику. А что? Ведь занимаются же как-то машинным обучением, и подобные вещи тоже могут пригодиться.

  1. Заполняем бочку водой (или полностью, или точно больше половины).
  2. Наклоняем бочку на 45 градусов: вся лишняя вода выливается, и остается ровно половина.

Дождь и солнце

Это очень легкая задача, но горе вам, если зададут ее под конец собеседования, когда последние силы покинут, а мыслительный процесс начнет изрядно буксовать. Условие:

12 часов ночи. Идет дождь. Можно ли ожидать, что по истечении 72 часов будет солнечная погода?

Решение
Ответ: нет, так как через 72 часа также будет ночь.

Кофе-брейк

В офисе расположили 3 автомата с различными напитками. В первом – кофе, во втором – чай, а в третьем – и кофе, и чай (выдает случайным образом). Для любого из них нужна 1 монета. Каждый автомат обозначен наклейкой с названием продукта, который он выдаёт. Вот только на заводе перепутали наклейки, и на каждом из трех автоматов оказалась неправильная. За сколько монет можно выяснить, где какой автомат?

Решение
Здесь, как и в случае с первой задачей, нужно абстрагироваться от мнимой сложности, ведь задача легкая.
  1. Бросаем монету в автомат с надписью «чай-кофе». Так как все наклейки расположены неверно, в зависимости от того, что выдаст автомат, мы определим его в «чайный» или «кофейный».
  2. Допустим, это оказался кофейный автомат. Тогда чайный автомат не может быть ни кофейным, ни чайным: он выдает и чай, и кофе.
  3. Методом исключения определяем автомат, который выдает чай.

Ответ: за 1 монету.

А вот вам еще несколько интересных задач, которые рассчитаны исключительно на программистов. Сможете их решить? 😉

  1. Сколькими способами можно разложить на 6 целых множителей 1 000 000?
  2. Имеем большой файл в несколько Гб, в котором записаны целые числа. Нужно записать в другой файл все эти числа в отсортированном порядке. Как это сделать максимально эффективно?
  3. Имеем все тот же большой файл в несколько Гб с целыми числами. Каждое число встречается дважды, но также есть 1 число, которое встречается всего 1 раз. Предложите эффективный алгоритм для поиска этого числа.

Логические задачи: 15 упражнений для тренировки мозга

Программистам без логики никуда. Поэтому время прокачать мозг: проверьте свои способности. Вам под силу эти логические задачи?

Полезно решать и логические задачи, и математические. Так вы развиваете логику и тренируете мозг. В силу профессии айтишнику крайне важно следить за тонусом своей главной «мышцы». Мозг любит задачки и головоломки, а ещё переключение внимания и отдых от рутины. Поэтому скорее приступим к развлечениям с пользой!

Логические задачи для разминки

1 задача

Поставьте правильное число вместо вопросительного знака:

Читайте также:  High school with no windows

Числа нижнего ряда – квадраты чисел верхнего ряда с перестановкой цифр. Вместо знака ставьте число 18.

2 задача

Один парень в компании предложил друзьям такой спор:

– Спорим, я выставлю бутылку на середину комнаты и вползу в неё.

И получилось. Он победил.

Как парню посчастливилось это сделать?

Он без труда вполз в неё – в комнату.

3 задача

Представьте ряд из шести чашек на столе. Три первые из них ничем не наполнены, а три следующие – с водой. Как добиться чередования пустых чашек и чашек с водой? Касаться разрешается только одной чашки. При этом толкать чашку чашкой запрещается.

Что вы предпримете?

Возьмите пятую чашку, перелейте из неё воду во вторую и поставьте чашку на место.

4 задача

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

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

Спортсмены наполнят трубу водой до краёв, и тогда шарик всплывёт.

5 задача

Получится ли у вас записать число 1000 с использованием только восьми восьмёрок и символов математического сложения?

Логические задачи основного комплекса

Попробуйте установить принцип построения указанной последовательности:

Последовательность цифр построена на основании алфавитного порядка их названий (восемь, два, девять, ноль и т. д.).

7 задача

Вообразите десятикилометровый мост через пролив. Максимальная нагрузка для него – 25 тонн. С начала этого моста стартовал грузовик, масса которого – ровно 25 тонн. Автомобиль продолжает движение к противоположному краю. Баланс моста пока не нарушен. Неожиданно, когда грузовик достиг середины этого путепровода, на него сел воробей со своим весом.

Вопрос к вам: приведёт ли вес птицы к нарушению балансировки и разрушению моста?

Не приведёт. Так как грузовик преодолел путь до середины моста, что равно 5 км, расход потраченного топлива в разы превысил вес птицы.

8 задача

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

Как люди справились?

Люди приблизились к противоположным берегам водного канала.

9 задача

Отважного воина захватили слуги султана. Султан приказал отправить смельчака в темницу, где вместе с ним беспрерывно будут рядом два надзирателя. Один стражник исключительно правдив в разговоре, а второй лжёт. Внутри темницы оказались два закрытых входа. Войдёшь в один – выберешь «неволю навсегда», а в другой – «освобождение». Султан предложил воину избрать один вход: если это окажется «освобождение», то пленник свободен.

Воину позволили спросить надзирателей только один раз. То есть один вопрос на двоих надзирателей. Пленник не в курсе, кто из них лжец, а кто правдив. Надзиратели, несомненно, знают, какой вход подарит воину освобождение.

Какой вопрос задаст воин одному из стражников для достоверного определения входа, который означает «освобождение»?

Воин задаст только один вопрос любому из надзирателей: «Если попросить твоего коллегу указать на вход «освобождение», то куда он направит меня?» В обеих ситуациях надзиратель укажет на «вход в неволю».

10 задача

В лесу десять родников с мёртвой водой: от первого до десятого. Мёртвая вода из родников с первого по девятый доступна каждому, а десятый родник во власти Кощея в пещере, в которую он никого не впускает. По вкусу и цвету мёртвую воду не отличить от обыкновенной, однако глоток воды из родника означает смерть. Спасёт только вода из родника с номером выше. Поэтому того, кто изначально выпьет десятую воду, ничего не спасёт.

Читайте также:  Как остановить httpd linux

Иванушка бросил вызов Кощею. Условились принести с собой чашку с водой и дать её осушить сопернику. Радости Кощея не было предела: «Ура! Я налью десятый яд, и Иванушка не спасётся! В то же время выпью то, что даст Иванушка, следом выпью десятый яд и останусь живым!»

В оговоренный день соперники столкнулись. Последовал честный обмен чашками. Содержимое выпито. При этом Кощей погиб, а Иванушка выжил.

Как Иванушка победил Кощея?

Иванушка предложил Кощею обыкновенную воду. А Кощей, по неверным предположениям, «запил» её собственным десятым ядом. Перед встречей с соперником Иванушка выпил воду из любого родника. Вышло, что он запил яд Кощеевым десятым, что привело к нейтрализации яда.

Логические задачи для «растяжки»

11 задача

Отец решил задать своему сыну-школьнику каверзный вопрос: назови самое большое число. Ответ сына ошеломил отца, возразить было нечего.

Для программиста это дело лёгкое, правда? Но что сказал школьник?

Тридцать первое. Предполагается число месяца.

12 задача

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

Отгадайте, что это за фраза?

Фраза: «Меня растерзают львы». Тогда, если бы вождь отдал странника львам на растерзание, то сказанная фраза стала бы правдивой, и его полагалось бы бросить с отвесной скалы. Но если странника сбросят со скалы, то фраза окажется лживой. Вождь посчитал, что исключительно правильным исходом будет подарить свободу страннику.

13 задача

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

Как ему удалось увидеть пешехода?

На улице стоял день.

Логические задачи для заминки

14 задача

Вам даётся три письма. Одно придётся незамедлительно проглотить. В каждом письме найдёте пару предложений. Два предложения в одном письме истинные, в другом – ложные, а в третьем – пополам – истинное и ложное. Смотрите, какие там предложения:

  1. Не ешьте это письмо.
  2. Непременно съешьте второе письмо.
  1. Не стоит есть первое письмо.
  2. Жуйте третье письмо.
  1. Есть это письмо не стоит.
  2. Скорее съедайте первое письмо.

Поделитесь своим мнением, какое письмо съесть?

15 задача

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

Какие вы примете меры, чтобы отыскать единственную дверь, которая ведёт на улицу?

Стоит распахнуть окошко и подставлять свечу по очереди к дверям: к щелям или к замочной скважине. При этом внимательно смотреть на пламя свечи. Колебание пламени будет указывать на выход.

Эти логические задачи показались вам лёгкими или не очень?

Сколько решили? Какая понравилась больше других?

Оцените статью