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

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

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

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

— Я загадал два разных числа от 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.

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

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