Эта задача является вторым эпизодом нашего сериала головоломок. После описания задачи представлен ответ на вчерашнюю задачу о двойных фамилиях.
Задача о спрятанном решении
Школьник перемножил два числа в столбик, а потом закрасил звездочками все цифры кроме одной девятки. Получилось как на картинке выше. Какие цифры стояли на месте звёздочек?
Ответ и решение – в следующей задаче.
А сейчас? Пока что нужно попытаться самим. Идеи и решения можно обсудить в комментариях.
Решение задачи о двойных фамилиях
Математическое решение. Обозначим буквами: A, B, C, D
«простые» фамилии внутри составных. Эти фамилии уже могут являться их общей фамилией.
Остальные фамилии – размещения из четырех по двум. Число размещений равно
4! / (4−2)! = 4! / 2! = 4 ⋅ 3 = 12
.
Действительно, эти 12 вариантов можно и перебрать:
AB AC AD
BA BC BD
CA CB CD
DA DB DC
Таким образом, суммарное число фамилий равно шестнадцати.
Ответ: 16.
Программное решение 🌟🐍. Решим ещё и программно – на Python. Мы как раз недавно рассматривали применение библиотеки itertools. Попрактикуемся в применении:
Код выше выведет следующее:
Если вам понравилось решать задачу. Это решение использует две эффективные функции встроенной библиотеки itertools
. Чтобы попрактиковаться в алгоритмах, решите ту же задачу, не задействовав библиотек. Сравните время выполнения кода.
Комментарии