Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Помогите выявить повторения....   Найти похожие ветки 

 
Drakosha   (2005-01-28 16:24) [0]

Есть функция которая выдаёт на выходе строку цифр
типа "12345890890890890890"
помогите преобразовать к виду "12345(890)"
ну тобишь найти когда начинается повторение.(повтаряться не только 890 будет, а любой набор цифр.


 
TUser ©   (2005-01-28 16:26) [1]

Фурье-анализ тебе нужен :)
А лучше - просто перебор. Поскольку известно, что повторения абсолютно точные - то проверяй на повторение одного, двух, трех и т.д. символов.


 
REA   (2005-01-28 17:38) [2]

Можно по принципу Gif - строить таблицу всех встреченных комбинаций.


 
REA   (2005-01-28 17:39) [3]

Только что есть повторения? Например в такой строке aababcabcdabcde. ab - 4, abc - 3, abcd - 2


 
Drakosha   (2005-01-31 11:57) [4]

2REA
Повторения будут начанатьсяс какого то места и продолжаться дальше.. т.е. в твоём примере их вообще нет.


 
ЮЮ ©   (2005-01-31 12:11) [5]

цикл по <длине повторения> от 1 до половины длины строки
 если
   части строки длиной <длине повторения> в конце строки
   и непосредственно перед ней совпали
 то
   //найдена повторяющаяся часть
   сворачиваем повторения
   выход из цикла
 конец если
конец цикла


 
Gloomer ©   (2005-01-31 12:27) [6]

>ЮЮ ©   (31.01.05 12:11) [5]
Алгоритм имеет право на жизнь, но он не определяет первой цифры начала повторения. Можем получить типа "1234589(089)".
Конечно это одно и то же, но обычно так не принято.


 
ЮЮ ©   (2005-01-31 12:40) [7]

>Можем получить типа "1234589(089)"

Как?
шаг1. "9" "0" - нет повторения
шаг2. "08" "90" - нет повторения
шаг3. "890" "890" - есть повторение
 
другое дело, для случая 233233233 получим 2332332(3), хотя надо (233), поэтому алгоритм лучше не сварачивать при первом нахождении, а продолжить до конца, всят тот вариант, который сворачивает большее количесто символов


 
КаПиБаРа ©   (2005-01-31 12:41) [8]

Записываешь 2 строчки одну под другой.
Сдвигаешь вправо

12345890890890890890
  12345890890890890  890
--------------------
00000000111111111111


Проверяешь цифры расположенные друг под другом. Если что то сопадает, то возпожно это и есть период...


 
Drakosha   (2005-01-31 16:14) [9]

Если что то сопадает, то возпожно это и есть период...

:)



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
1-1106817408
Fanny
2005-01-27 12:16
2005.02.13
Свойство Мультиязыковый у EXE-файла


1-1106830113
AlexTregubov
2005-01-27 15:48
2005.02.13
Как узнать?


1-1106928415
Rem
2005-01-28 19:06
2005.02.13
WriteText и белый фон


4-1103568902
KOMBAS
2004-12-20 21:55
2005.02.13
Как отловить содержимое Edit ов в форме IE ?


3-1105686496
DelphiN!
2005-01-14 10:08
2005.02.13
Как добавить в поле столбца еще один стобец со своими полями ?