Возраст, увы, у меня почтенный, а поэтому приходится ежедневно принимать таблетки.
Таблеток N видов. Принимаю я ровно 1 таблетку каждого вида в день (это действительно так).
Таблетки в блистерах или флаконах. В одних блистерах 10 штук, в других 15, во флаконах иные значения.
Когда блистер или флакон заканчивается, я заменяю его на новый.
И вот сегодня одновременно закончились 2 разных блистера. Не помню, было ли такое когда-то раньше.
Отсюда задача — по исходному набору блистеров/флаконов найти день, когда одновременно закончатся хотя бы 2 блистера/флакона. Разумеется, у меня достаточно новых блистеров/флаконов.
Вариант 1. В день X я начинаю прием, все блистеры/флаконы полные.
Вариант 2. В день X я начинаю прием, но блистеры/флаконы неполные, в каждом осталось свое количество таблеток.
Найти день Y, в который закончатся хотя бы 2 блистера/флакона. Для определенности в течение некоторого срока, скажем, года. Если такого не будет, ответ — нет.
Программистское решение. Оно тривиально для обоих вариантов. Просто в цикле делаем T[i]-- каждому блистеру/флакону и смотрим, не получили ли мы хотя бы два нуля на данной итерации цикла. В общем, точная калька того, что я делаю в реальности.
Математическое решение для варианта 1. Оно тоже простое — нужно взять минимальное из НОК для пар блистеров/флаконов. Если, скажем, в одном блистере 10 таблеток, в другом 15, то НОК == 30, и через 30 дней я полностью съем 3 блистера первого лекарства и 2 — второго.
Существует ли математическое решение для варианта 2 ?
Не надо думать, что вариант 2 получился из варианта 1 спустя сколько-то дней, то есть начал я с полных блистеров/флаконов. Нет. Просто в день X в каждом блистере/флаконе Ti таблеток, а как их количества стали такими — не обсуждается.