Это достойный вопрос, но я думаю, что если "вы едва можете играть в пасьянс", это может быть вне вашей досягаемости прямо сейчас.
Вы должны изучить выбор базового языка, и большинство из них скажут PHP, но я с осторожностью рекомендую это новичку (хотя довольно легко начать работать, см .: XAMPP).Java, вероятно, является языком, который «легко заставить работать и работать», но я уверен, что здесь есть лучшие темы о том, с какого языка начинать (Python или что-то, вероятно, выигрывает, потому что опытные программисты любят его).
Кстати, ваш английский в порядке (я не заметил, что вы не являетесь носителем английского языка).
Теперь, что касается вашего вопроса, если вы смотрите на истинный образецсоответствия.Я был бы склонен преобразовать эту идею в код:
"CURRENTPOINT" is end of first letter.
LOOP: Pick letter(s) from Start to "CURRENTPOINT"
Break the rest of your binary string into blocks of the same size.
See if these blocks all equal your picked letters.
If not, move "CURRENTPOINT" along and repeat the LOOP until you run out of letters.
If so, you have your "repeating section."
Если вы просто предполагаете, что генератор случайных чисел временно смещен, и что это смещение восстановит базовую линию (сбалансированные 0 и 1)) в течение достаточно короткого периода времени вы можете сравнить счетчик каждого 0 и 1 и сказать, что другое более вероятно на основе отклонения от базового уровня.Однако, будьте осторожны с ошибкой Монте-Карло .