Задача о вирусе в колонии бактерий

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

В Китае происходят трагические события, связанные с распространением нового типа вируса. Число погибших выросло до 26 человек. В 10 городах Китая введены жёсткие карантинные меры, в Ухани закрыты аэропорты и железнодорожные станции.

Вирусы поражают все типы организмов, от растений и животных до бактерий и архей. Вирусы не только убивают клетки, но также используют их материал для репликации. Давайте подумаем об этой проблеме в математическом ключе. В качестве модели рассмотрим не самого быстро размножающегося вируса-бактериофага. Справится ли с вирусом колония бактерий?

Задача о вирусе в колонии бактерий

В колонию, состоящую из N бактерий, попадает один вирус. В первую минуту он уничтожает одну бактерию, затем делится на два новых вируса. Одновременно каждая из оставшихся бактерий тоже делится на две новые. В следующую минуту возникшие два вируса уничтожают две бактерии, и затем оба вируса и все оставшиеся бактерии снова делятся и так далее.

Будет ли эта колония при указанных условиях жить бесконечно долго или в конце концов погибнет?

Решение – в следущей задаче.

Эта задача – восьмой эпизод нашего сериала головоломок. После описания задачи идёт ответ на предыдущую головоломку о часах с одинаковыми стрелками.

***

Решение задачи о часах с одинаковыми стрелками

Ответ. Существует 66 пар расположений стрелок таких, что в каждой из этих пар одно расположение получается заменой часовой стрелки на минутную и минутной на часовую. Разумеется, при этом не рассматриваются такие положения, когда направления часовой и минутной стрелок совпадают: в этих случаях время определяется однозначно.

Решение. Можно получить много разных решений задачи. Приведём наиболее распространённое, представленное также в девятом номере за 1970 год научно-популярного журнала Квант.

Будем считать, что циферблат разбит на 12 частей. Рассмотрим какое-то одно из положений стрелок, о которых идёт речь в условии. Пусть одна стрелка занимает положение x, другая – y. Тогда 0 ⩽ x ⩽ 12, 0 ⩽ y ⩽ 12. Если первую стрелку считать часовой, а вторую – минутной, то должно выполняться равенство:

x=a+5y60,

где a – целое число часов, 0 ⩽ a ⩽ 11.

Аналогично первая стрелка минутная, а вторая – часовая, то

y=b+5x60,

где b – целое, 0 ⩽ b ⩽ 11.

Систему из двух равенств можно заменить на эквивалентные:

12x=12a+y,12y=12a+x.

Решение системы относительно x и y даёт:

x=12b+12a143,y=12a+12b143.

Здесь 0 ⩽ a ⩽ 11, 0 ⩽ b ⩽ 11 – целые числа. Каждая пара (x, y) удовлетворяющая этой системе является её решением. Их всего 122 = 144. Ясно, что случаи, когда x = y, то есть, когда a = b, нужно исключить. Остаётся 132, что соответствует 66 положениям пары стрелок.

Как ответили читатели Библиотеки программиста? Решение головоломки в социальных сетях вызвало бурное обсуждение. К сожалению, большинство ответов не содержали описания решения, а только некоторые числа и расчёты без пояснений.

На сайте Библиотеки программиста первым правильный ответ 66 указал mmackevich, также были перечислены приблизительные временные отметки, но не было показано аналитическое решение. Пользователь tamatuk привёл близкое к правильному решение, но исходно указал ошибочный ответ.

В группе вконтакте первый чётко аргументированный правильный ответ дал Дмитрий Шелухин. Дмитрий также заметил, что задача сводится к числу сочетаний из 12 по 2:

Стоит также заметить, что под временем подобные задачи, конечно, предполагают время, которое можно найти из самих часов, без указания времени до или после полудня или времени года :-)

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
18 июля 2019

Логические задачи: 15 упражнений для тренировки мозга

Программистам без логики никуда. Поэтому время прокачать мозг: проверьте св...
admin
09 мая 2018

Логические и математические задачи с собеседований

Разомнем мозг! В этой статье собраны логические и математические задачи, ко...
admin
20 октября 2016

27 сайтов с задачками для оттачивания навыков программирования

<strong>Решение задач — хороший способ развить навыки разработки.</strong>