Нашу планету ровным слоем покрывает большая колония бактерий, которые находятся буквально везде. Внезапно в Сколкове изобретают высокотехнологичных наноботов, которые имеют способность самовоспроизводиться при съедании этих бактерий. Каждую секунду сколковский нанобот пожирает одну бактерию и сразу делится на два таких же нанобота. Бактерии просто питаются подножным кормом и тоже каждую секунду делятся пополам, но просто так, сами по себе.
Захватят ли сколковские наноботы всю планету, если вырвутся из не очень хорошо охраняемых сколковских лабораторий и начнут размножаться в дикой природе?
Эта задача красиво решается через обычные школьные уравнения, но для этого нужно будет добавить два неизвестных.
Каждый нанобот съедает по одной бактерии и тут же делится пополам, то есть на каждом шаге количество наноботов удваивается. А раз так, то удваивается и количество съедаемых бактерий. Запишем, сколько бактерий съедает нанобот на каждой секунде:
секунда 0: 1 — потому что в самом начале у нас один нанобот
секунда 1: 2 × 1 — после первой секунды наноботов стало два, значит, они съели две бактерии, каждый по одной
секунда 2: 2 × 2 × 1 — наноботы снова удвоились и съели по бактерии
Мы видим постоянное произведение двоек, а значит, их можно представить в виде степени:
секунда 0: 1 = 2 в нулевой степени
секунда 1: 2 = 2¹
секунда 2: 4 = 2²
* * *
T секунда: 2 в степени Т
Мы выяснили, как быстро размножаются наноботы и сколько на каждой секунде они съедят бактерий. Теперь допустим, что когда на планете появился один нанобот, этих бактерий уже было N штук. Тогда снова обозначим время в секундах как Т и попробуем выяснить, сколько бы получалось бактерий на каждой секунде с учётом наноботов:
секунда 0: N — начальные условия
секунда 1: 2 × (N − 1) — перед удвоением наноботы съели одну бактерию
секунда 2: 2 × [ 2 × (N − 1) − 2] — удваиваем то, что было до этого, и перед этим вычитаем две съеденных бактерии
секунда 3: 2 × { 2 × [ 2 × (N − 1) − 2] − 4} — снова удваиваем предыдущее, не забывая вычитать съеденных бактерий.
Раскроем скобки и продолжим логический ряд:
секунда 0: N
секунда 1: 2 × N − 2
секунда 2: 2² × N − 8
секунда 3: 2³ × N − 24
* * *
секунда Т: (2 в степени Т) × N − (2 в степени T) × Т
Когда наноботы съедят всех бактерий и захватят мир, наше последнее уравнение станет равно нулю. Запишем это:
(2 в степени Т) × N − (2 в степени T) × Т = 0
Перенесём одну часть уравнения вправо:
(2 в степени Т) × N = (2 в степени T) × Т
Видим, что в каждой части есть общий множитель: (2 в степени Т). Сократим его:
N = Т
Получается, что наноботам, чтобы съесть всех бактерий, понадобится столько секунд, сколько бактерий было на планете в момент старта. А раз время у нас не ограничено, то в конце концов наноботы дожуют всех бактерий и ЗАХВАТЯТ ВЕСЬ МИР!
Проверим это для колонии из четырёх бактерий:
секунда 0: 4 бактерии и 1 нанобот
секунда 1: 6 бактерий и 2 нанобота
секунда 2: 8 бактерий и 4 нанобота
секунда 3: 8 бактерий и 8 наноботов
секунда 4: 0 бактерий и 16 наноботов
Решение работает, наноботы победили!