Предположим, что есть петля, скажем, длины L
.
Сначала простой случай
Чтобы упростить задачу, сначала рассмотрим случай, когда две частицы целиком зацикливаются одновременно. Эти частицы находятся в одном и том же положении всякий раз, когда n*A = n*B (mod L)
для некоторого положительного целого числа n
, которое является числом шагов, пока они не встретятся снова. Взятие n=L
дает одно решение (хотя может быть и меньшее решение). Таким образом, после L
единиц времени частица A
совершила A
обхода цикла, чтобы вернуться в начало, а частица B
совершила B
обхода цикла, чтобы вернуться в начало, где они счастливо сталкиваются.
Общий случай
Теперь, что происходит, когда они не входят в цикл одновременно? Пусть A
будет более медленной частицей, т.е. A<B
, и предположим, что A
входит в цикл в момент времени m
, и давайте назовем позицию, в которой A
входит в цикл 0
(так как они находятся в Цикл, они никогда не могут выйти из него, поэтому я просто переименовываю позиции, вычитая A*m
, расстояние A
прошло после m
единиц времени). Затем в это время B
уже находится в позиции m*(B-A)
(это реальная позиция после m
единиц времени, равная B*m
, и поэтому ее переименованная позиция равна B*m-A*m
). Затем нам нужно показать, что есть время n
такое, что n*A = n*B+m*(B-A) (mod L)
. То есть нам нужно решение модульного уравнения
(n+m) * (A-B) = 0 (mod L)
Принимая n = k*L-m
за k
достаточно большим, чтобы k*L>m
добился цели, хотя, опять же, может быть меньшее решение.
Поэтому да, они всегда встречаются.