среда, 15 июля 2009 г.

Каков возраст жильцов дома?

перепись населенияКогда мне на глаза попалась эта задача, она мне не очень понравилась. Слишком длинное и местами не очень понятное условие. Но все же я решил не сдаваться и попробовать разобраться. В результате потратив часа два получил ответ. Итак, журнал "Квант" за 1970 год предлагает такую задачу.

Агент по переписи Смит и агент по опросу населения Джонс одновременно подходят к дому № 900. Каждый хочет узнать возраст жильцов этого дома. Владелец дома (дело происходит в США) сообщает им свой возраст и говорит, что в доме живут еще три жильца, возрасты которых - три различных целых числа - при перемножении дают число, равное номеру дома. Владелец дома говорит, что он сообщит агенту по переписи возраст среднего из жильцов. Он шепотом сообщает этот возраст агенту по переписи, который после этого говорит, что он не в состоянии определить возраст двух других жильцов. Тогда владелец дома говорит, что он сообщает агенту по опросу сумму возрастов старшего из жильцов и одного из двух других. Он шепотом сообщает сумму агенту по опросу, который говорит, что он тоже не в состоянии отгадать возраст жильцов.
Владелец дома начинает спрашивать их по очереди. В первый раз агент по переписи отвечает, что он не может определить эти возрасты. Агент по опросу говорит, что он тоже не может определить эти возрасты. Во второй раз агент по переписи говорит, что он по-прежнему не может определить возрасты. Агент по опросу говорит, что и он все еще не может этого сделать. В третий раз агент по переписи говорит, что он все еще не знает возрасты жильцов, а агент по опросу заявляет: "Теперь я знаю все возрасты".
Каков возраст этих трех жильцов? (В условии задачи содержится вся необходимая информация для решения!)
Ответ
Полное решение очень громоздкое, поэтому приведу только алгоритм.
Так как возрасты – это целые числа и произведение их равно 900, то вначале раскладываем 900 на 3 целых множителя всеми возможными способами. Получается около 35 вариантов.
Убираем те варианты, в которых присутствует два одинаковых множителя, так как по условия возрасты различны.
Владелец дома сообщил агенту по переписи возраст среднего из жильцов, а агент не смог назвать возрасты остальных. Следовательно, из списка вариантов можно исключить те записи, в которых возраст среднего из жильцов встречается только один раз. Например, вариант 1,25,36. Значение 25 встречается только в этом варианте.
Далее владелец дома сообщает агенту по опросу сумму возрастов старшего и одного из двух других, но агент опять не может назвать возрасты. Это означает, что из списка можно вычеркнуть варианты, в которых сумма возрастов старшего и одного из двух других жильцов встречается только один раз. Например, суммы 52 и 59 подходят только для варианта 2, 9, 50. И если бы возрасты были 2, 9, 50, то агент по опросу мог бы их назвать.
Аналогично следующие три раза, когда владелец дома спрашивает агентов по очереди, вычеркиваем те варианты, которые встречаются только один раз.
В итоге, когда владелец третий раз спрашивает агента по опросу, должны остаться только два варианта: 4, 9, 25 и 5, 9, 20. Так как агент смог назвать возрасты жильцов, то ответом будет вариант 5, 9, 20. Это следует из того, что сумма 34 для варианта 4, 9, 25 отпала на одном из предыдущих этапов, а сумма 29 подходит и для варианта 5, 9, 20. А вот сумма 25 для варианта 5, 9, 20 подходит только для него. Поэтому агенту была названа сумма 25, а ответом будут возрасты 5, 9 и 20.

Комментариев нет:

Отправить комментарий