フロイドの循環検出法
一致が見つかったら、 λ {\displaystyle \lambda } を決定する。これは、一方は a m {\displaystyle a_{m}} から、もう一方は数列の最初から値を求めて比較していくことで分かる(共に1つずつ進めて行く)。 a m {\displaystyle a_{m}} は循環の先頭地点から m − λ {\displaystyle m-\lambda } ステップ進んだ地点であり、そこから λ {\displaystyle \lambda } ステップ進むと循環の先頭地点からは m {\displaystyle m} ステップの地点である。 m {\displaystyle m} は μ {\displaystyle \mu } の整数倍であるから、それはつまり、循環の先頭地点に他ならない。従って、 λ {\displaystyle \lambda } ステップ後に両者は循環の先頭地点に到達し、そこまでの繰り返し回数が λ {\displaystyle \lambda } となる。
λ {\displaystyle \lambda } が分かれば、巡回の開始地点から第一段階と同じアルゴリズムを繰り返すことで μ {\displaystyle \mu } を見つけることができる。この場合、 λ {\displaystyle \lambda } が 0 {\displaystyle 0} なので、新たな m {\displaystyle m} は μ {\displaystyle \mu } の整数倍ではなく、 μ {\displaystyle \mu } そのものであることが保証される。