Период обнаружения неизвестного источника

Как обнаружить повторяющиеся цифры в бесконечной последовательности? Я попробовал алгоритм обнаружения Floyd & Brent , но ничего не вышло... У меня есть генератор, который выдает числа от 0 до 9 (включительно ), и мне нужно распознать в нем точку.

Пример теста:

import itertools

# of course this is a fake one just to offer an example
def source():
    return itertools.cycle((1, 0, 1, 4, 8, 2, 1, 3, 3, 1))

>>> gen = source()
>>> period(gen)
(1, 0, 1, 4, 8, 2, 1, 3, 3, 1)
7
задан nhahtdh 6 May 2013 в 22:12
поделиться