3 логические задачи для настоящего программиста

3 логические задачи для настоящего программиста

№1 – Как на счёт кофе?

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



Ответ: Задача только на первый взгляд сложная, от этой мысли следует абстрагироваться, решение лежит на поверхности.

  1. Подходим к аппарату с пометкой «кофе-чай» и бросаем таксу в виде монетки. Помним, что все наклейки неправильные, соответственно здесь либо чай, либо кофе.
  2. Предположим, что аппарат выдал чай, соответственно модель с надписью кофе не может выдавать кофе (все наклейки неправильные) и чай, так как ранее уже был найден аппарат с ним.
  3. При помощи исключения возможных вариантов несложно определить, где выдаётся кофе.

Итог: 1 монеты достаточно.

#2 – Фальшивые монеты

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


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



Ответ: Элементарная задача, но все равно не редко появляется путаница, половина отвечает 1 или 2. Для определения поддельной копии следует провести 3 взвешивания, так как у нас не получится узнать какая конкретно монета является поддельной за меньшее количество попыток. Соответственно, большая часть монет должна быть с одинаковым весом, так как они настоящие, а третья монета, из последнего взвешивания, будет поддельной.


Итог: потребуется 3 взвешивания.

#3 – Вода в бочке

Перед вами пустая и герметичная бочка. Задача заключается в том, чтобы наполнить ёмкость водой, а сложность – тара должна быть заполнена ровно на 50%. Важное условие! Использовать длинные предметы вроде палки и подобного запрещено.


Ответ: Перед нами физика, вас это смущает? Программист должен быть всесторонне развит, особенно те представители профессии, которые заняты разработкой искусственного интеллекта. Подобные задачки могут пригодиться в жизни.

  1. Берём шланг и наливаем в бочку побольше воды, не обязательно заполнять полностью, но важно получить уверенность, что воды больше 50%.
  2. Бочку следует постепенно наклонять до получения угла 45° по отношению к ровной поверхности. Все излишки воды просто вытекут, а необходимый объём останется.
23 Января 2018
|
Рейтинг ()

Возврат к списку