Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
1-1106803696
newver
2005-01-27 08:28
2005.02.13
много файлов, ресурсы компа, оптимизация.


1-1106946603
Ancot
2005-01-29 00:10
2005.02.13
Наложение цвета по AND


1-1107121682
haM3r
2005-01-31 00:48
2005.02.13
TRichEdit проблема со сменой цвета текста


14-1106592053
netnetnet
2005-01-24 21:40
2005.02.13
UPX


1-1106817408
Fanny
2005-01-27 12:16
2005.02.13
Свойство Мультиязыковый у EXE-файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский