Спор двух программистов

Задача про математику и находчивость.

Спор двух программистов

Один программист пришёл к другому и, немного выпив, говорит:

— Загадай любое натуральное число X!

— Отстань

— Нет, загадай.

— Ну, загадал.

— А теперь придумай три любых целых числа от 6 до 8 включительно.

— Придумал, и что дальше?

— А теперь умножь своё начальное число X на первое из них, прибавь второе и отними третье. Сколько у тебя получилось?

— Минутку… 164.

— Ха, а я знаю, какие ты числа загадал!

— Что, все четыре числа вычислил?!

— Ага!

— НО КАК?!

Действительно, как первому программисту удалось узнать все числа, которые загадал второй?

Обозначим три загаданных числа от 6 до 8 как A, B и C. Если мы сделаем всё, как написано в задаче, то получим равенство: A × X + B − C = 164.

Из этого получим X:

X = (164 − B + C) / A

Исключаем число 7

Если A = 7, то числитель нашей дроби должен нацело делиться на 7, потому что X не может быть дробным (по условию X — натуральное число). Числа, близкие к 164, которые делятся на 7 — это 161 и 168.

Чтобы получить 161 в числителе, числа B и C должны отличаться друг от друга на 3, а это невозможно, потому что максимальная разница равна 8 − 6 = 2.

Чтобы получить 168 в числителе, числа B и C должны отличаться друг от друга на 4, а это тоже невозможно, потому что максимальная разница равна 8 − 6 = 2.

Значит, A точно не равно 7. Запомним это.

Если число A точно не 7, то оно чётное — 6 или 8. Это значит, что числитель (164 − B + C) тоже чётный, чтобы в результате деления получилось целое число. А это возможно, если числа B и C оба чётные или оба нечётные.

Если числа B и C оба нечётные, то это возможно только в случае, если они оба равны 7. В этом случае −B + C = 0, и в числителе остаётся только 164, которое нам предстоит разделить на 6 или 8. Но 164 не делится нацело ни на 6, ни на 8, значит, они тоже не равны 7.

Исключаем одинаковые B и C

Из последнего примера мы видели, что B и С не могут быть одинаковыми в принципе, неважно, чётными или нечётными, поэтому остаются только два варианта:

B = 6, C = 8 или B = 8, C = 6.

Проверяем оставшиеся варианты

Если B = 6 и C = 8, то в числителе получается так: (164 – 6 + 8) = 166. Но 166 не делится нацело ни на 6, ни на 8 (возможные значения A), значит, этот вариант можно исключить.

Получается, что остаётся только пара B = 8 и C = 6: (164 – 8 + 6) = 162. Число 162 нацело делится только на 6: 162 / 6 = 27, значит, A = 6, а второй программист загадал число 27:

X = 27

A = 6

B = 8

C = 6

Проверяем: 6 × 27 + 8 − 6 = 164. Всё сходится.

Редактура:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Вам может быть интересно
5 интересных задач про цифры
5 интересных задач про цифры

Подборка для тех, кто любит подумать.

medium
Андрюха, бензин и Игра престолов
Андрюха, бензин и Игра престолов

Программистская задача с математическим уклоном.

easy
Задача про безумного рекрутера и большой офис
Задача про безумного рекрутера и большой офис

Вот что бывает, когда начинаешь бесконтрольно нанимать людей, — внезапно заканчивается место в офисе.

easy
Решаем кодом задачу про безумного рекрутера
Решаем кодом задачу про безумного рекрутера

Пусть рассудит машина.

medium
Задача про персональные данные
Задача про персональные данные

Настоящая задача XXI века.

medium
Задача про Айфон за 2000 рублей
Задача про Айфон за 2000 рублей

Сколько можно потерять из-за фальшивой купюры.

medium
Задача про безумного рекрутера и большой офис
Задача про безумного рекрутера и большой офис

Вот что бывает, когда начинаешь бесконтрольно нанимать людей, — внезапно заканчивается место в офисе.

easy
Задача для хакеров: как подобрать код к замку
Задача для хакеров: как подобрать код к замку

Не применять в реальной жизни!

easy
Задача про площадь и много прямоугольников
Задача про площадь и много прямоугольников

Как обычно, многих размеров мы не знаем

easy
easy