Задача про номер дома

Задача про номер дома

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

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

— Я загадал два разных числа от 1 до 9, сможешь угадать их сумму?

— Да ну, ты чего, там же куча вариантов.

— Окей, дам подсказку: последняя цифра в произведении моих чисел такая же, как номер моего дома.

— Так я же не знаю номер твоего дома. Хотя подожди, я понял!

И второй программист сразу же назвал сумму двух загаданных чисел. Как он это сделал?

Так как второй программист понял, как решить эту задачу только после информации о произведении чисел, сделаем то же самое: посмотрим, чему равно произведение всех чисел от 1 до 9:

Задача про номер дома

Раз нам всё равно, в каком порядке первый программист загадал свои числа, а важен только результат умножения, то мы отбросим половину значений — а всё потому, что 2 × 6 = 6 × 2. Поэтому убираем нижнюю половину таблицы — она дублирует верхние значения:

Задача про номер дома

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

Задача про номер дома

Так как последняя цифра в результате произведения совпадает с номером дома первого программиста, можно сделать вывод, что номер дома — однозначное число от 1 до 9 (потому что нумерация домов начинается с единицы, а не с нуля). 

Теперь самая нудная часть решения: нам нужно по очереди сравнить все числа от 1 до 9 с последними цифрами произведений, и если таких результатов будет больше одного — отбросить их. Дело в том, что второй программист сразу понял ответ, а это можно сделать, только когда вариантов решения не больше одного.

Для примера подробно разберём число 1: находим все результаты произведений, которые заканчиваются на единицу:

Задача про номер дома

Такой результат у нас только один — это число 21. Кажется, что мы сразу нашли верный ответ, но вдруг нет? Нужно точно так же проверить все остальные числа — возможно, будет ещё такое уникальное произведение.

Проверяем двойку:

Задача про номер дома

А здесь у нас получилось сразу много произведений с двойкой на конце, поэтому все эти результаты можно отбрасывать как неверные (они не дают однозначного ответа). Точно так же проверим всё остальное и вычеркнем неоднозначные результаты.

Проверяем тройку:

Задача про номер дома

Проверяем четвёрку:

Задача про номер дома

Проверяем пятёрку:

Задача про номер дома

Проверяем шестёрку:

Задача про номер дома

Проверяем семёрку:

Задача про номер дома

Проверяем восьмёрку:

Задача про номер дома

Проверяем девятку: у неё тоже один результат, поэтому тоже оставляем его как один возможных.

Задача про номер дома

А всё, что заканчивается на ноль, тоже убираем — у нас нет ноля среди загаданных чисел:

Задача про номер дома

Итак, у нас остались всего два числа: 9 и 21, и по идее нам нужно как-то выбрать одно из них, чтобы найти исходную пару чисел и выяснить их сумму. Но давайте посмотрим на то, произведение каких чисел даёт эти результаты:

1 × 9 = 9

3 × 7 = 21

А теперь попробуем сложить эти числа:

1 + 9 = 10

3 + 7 = 10

И там и там сумма равна 10, а значит, мы можем дать правильный ответ в любом случае: сумма загаданных чисел равна 10.

А теперь нужно перестать страдать ерундой, быстро доделать дела и пойти на речку. 

Текст:

Михаил Полянин

Редактор:

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

Художник:

Алексей Сухов

Корректор:

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

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Любите математику? Это для вас
Попробуйте бесплатный тренажер «Основы математики для цифровых профессий». Это все необходимые знания, чтобы закрыть пробелы в математике для айтишника.
Попробовать бесплатно
Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас Любите математику? Это для вас
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Очень сложная задача про обруч
Очень сложная задача про обруч

Классическая математическая задачка, которая взрывает мозг.

easy
Задача про номер дома
Задача про номер дома

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

medium
Чужой, Хищник и случай на озере

Задачка на геометрию.

medium
Нестандартная задача про вероятность и шары

Очередная задача из собеседований.

medium
Задача про охрану периметра

Решаем тремя способами: как математик, инженер и программист.

easy
Как накопить на айфон с помощью Экселя
Как накопить на айфон с помощью Экселя

Великая сила электронных таблиц.

easy
Захватят ли нанороботы мир?
Захватят ли нанороботы мир?

Моделируем ход техногенной катастрофы с помощью простого уравнения.

easy
Как угадать число от 0 до 100 за 7 попыток?
Как угадать число от 0 до 100 за 7 попыток?

Простой математический трюк, который раскрывает мощь алгоритмов

easy
Логическая задача
Задача имени Якубовича: три шкатулки с деньгами

Интуиция обманет вас в этой задаче. Попробуйте лучше теорию вероятностей, это легко.

hard
Непростая задача про диагональ квадрата
Непростая задача про диагональ квадрата

Для решения нужно выйти за рамки

easy
medium