Логические и математические задачи с собеседований

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

Логические и математические задачи с собеседований

Основные проблемы, которые часто возникают в процессе интервью, не в отсутствии опыта или подготовки. Даже по-настоящему опытный разработчик может легко «споткнуться» о  решение какой-нибудь хитро скроенной задачки. Поэтому мы поговорим не о том, как составлять резюме и выгодно презентовать себя. Фокусируемся на решении нетривиальных задач, которые включают в себя решение логического и/или математического характера.

«Крепкий орешек»

Помните загадку из третьего фильма? Если нет, то вспоминайте, так как этим вопросом любят потчевать в Microsoft.

Задача:

Есть 2 пустых ведра: первое объемом 5 л, второе — 3 л. Как с их помощью отмерить 4 литра воды?

Ответ:
Сперва наполните пятилитровое ведро. Далее перелейте из него воду в трехлитровое так, чтобы в пятилитровом осталось 2 л воды (полностью заполнив трехлитровое). Вылейте из меньшего ведра всю воду и перелейте в него оставшиеся в большем 2 л. Снова наполните пятилитровое и перелейте один литр в трехлитровое (оно как раз заполнится): так в большем ведре останется 4 л воды.

Баночки с таблетками

Задача:

Есть двадцать баночек с таблетками. Почти во всех таблетки весят по 1 г, и только в одной — по 1,1 г. У нас есть точные весы, с помощью которых нужно определить баночку, каждая таблетка которой весит 1,1 г. Как это сделать, если можно взвесить только 1 раз?

Ответ:

Давайте абстрагируемся и представим, что у нас 2 баночки, в одной из которых таблетки более тяжелые. Даже если мы поставим их обе на весы, мы ничего не узнаем. Но если мы достанем из одной баночки 1 таблетку, из другой — 2 и положим их на весы — вот тогда-то и откроется истина 🙂 В данном случае вес будет 2,1 или 2,2 (в зависимости от того, сколько каких таблеток мы взяли). Так и определяем нашу баночку.Вернемся к задаче. Из каждой баночки нужно доставать разное количество таблеток. То есть из первой баночки 1 таблетку, из второй — 2, из третьей — 3 и так далее. Если бы каждая таблетка весила по 1 г, общий вес составил бы 210 г. Но поскольку в одной из баночек таблетки тяжелее, вес будет больше. Для определения нужной баночки просто воспользуемся формулой:

№ тяжелой баночки = (вес - 210) * 10

Но на этом интересные логические и математические задачи не заканчиваются. Идем дальше!

Свидание

Задача:

Парень и девушка договорились встретиться ровно в 21:00. Проблема в том, что у обоих часы идут неправильно. У девушки часы спешат на 2 мин., но она думает, что они на 3 мин. отстают. У парня же часы отстают на 3 мин., но он считает, что они на 2 мин. спешат. Кто из пары опоздает на свидание?

Ответ:
Ничего сложного: чистая математика. Если у девушки часы спешат, а она думает, что они отстают, то поторопится и придет на 5 мин. раньше. Парень, наоборот, посчитает, что у него еще 5 минут времени в запасе, отчего на эти самые 5 мин. опоздает.

Считаем вес курицы

Задача:

Длина курицы при измерении от головы до хвоста составит 45 см, а вот от хвоста до головы (если измерять вдоль брюха) — 53 см. По статистике плотность курицы на единицу боковой проекции составляет 8 г/см2. Усредненная высота курицы, если мерить ее вдоль боковой поверхности, — 21 см. Сколько весит килограмм курицы?

Ответ:
Килограмм курицы весит 1 килограмм.

Да, математические задачи с подвохом тоже встречаются 🙂

Книжные страницы

Задача:

Книга содержит N страниц, которые пронумерованы стандартно: от 1 до N. Если сложить количество цифр (не сами числа), что содержатся в каждом номере страницы, выйдет 1095. Так сколько в книге страниц?

Ответ:

Каждый номер страницы имеет цифру на месте единицы, так что есть N цифр, расположенных на месте единицы. А вот после 9 начинаются двухзначные числа, и нам нужно добавить N-9 цифр. То же самое с трехзначными, которые начинаются после 99: добавляем N-99 цифр. Продолжать нет смысла, так как сумма не предполагает более 999 страниц. Получаем следующую формулу:N + (N-9) + (N-99) = 1095

Далее просто решаем:

3N - 108 = 1095

3N = 1203

N = 401

Итого 401 страница.

Посчитать в уме

Задача:

Математические задачи на собеседованиях бывают и довольно простыми, но зачастую только на первый взгляд. Попробуйте в уме разделить 30 на 1/2 и прибавить 10. Каким будет результат?

Ответ:

Первое решение, которое обычно приходит на ум, ошибочно:30/2 + 10 = 25

Если мы делим на дробь, ее нужно переворачивать и производить умножение:

30*2 + 10 = 70

Цифра 3

Задача:

Сколько целых чисел в диапазоне 1-1000 вмещают в себя цифру 3? При подсчете нельзя пользоваться компьютером.

Ответ:

Запомните, что нам нужно учесть просто факт содержания в числе тройки. Если, например, это 33 — мы не считаем цифру 2 раза. В числе должна быть по крайней мере одна тройка, чтобы его учесть. Например, числа в диапазоне 300-399 дают нам сразу 100 чисел. Еще 10 мы получаем от 30-39. То же касается 130-139, 230-239, etc. Десяток этих чисел уже был учтен при подсчете 330-339, так что убираем его и получаем:100 + 90 = 190

А еще есть группа чисел (их 100), которые заканчиваются на тройку: 2-993. Мы исключаем из нее такие 10 чисел, как 303, 313 … 393 (они учтены ранее). Получаем еще +90 чисел. У 1/10 из этих 90 на месте десяток также расположилась тройка: 33, 133 … 933. Убираем еще 9, оставляя 81 число. Дальше простая математика:

100 + 90 + 81 = 271

А вот более изящное решение данной задачи. Сперва мы считаем, сколько чисел не включает в себя тройку (на каждое из 3-х мест ставится 9 цифр, которые не тройки):

9 * 9 * 9 = 729

1000 - 729 = 271

Ну что, размялись? Надеемся, вам понравились собранные логические и математические задачи. Если этого мало, можете заглянуть сюда + ниже вы найдете еще больше задач, специально подобранных Библиотекой программиста 🙂

FavoriteLoadingДобавить в избранное

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *