Цитата Сообщение от newart Посмотреть сообщение
Надо учитывать что начало трека может далее не повторяться, то есть музон может быть зациклен не на начало...
Тогда как-то так:

for i = 1..(LEN-MIN_LEN)#size of tail
for j = 1..(LEN-j)#check window
if (equal(DATA[(LEN-i-j)..(LEN-i)], DATA[(LEN-i)..LEN])
result=LEN-i

После всех проходов в result будет минимальная длина трека. Если подумать, то можно сделать отсечение циклов раньше- иначе очень тормозно будет.

---------- Post added at 09:18 ---------- Previous post was at 08:17 ----------

Кстати о птичках. Каким образом в формате .AY хранится дамп регистров? Или используется AMAD-формат?