Page 121 - 4496
P. 121
маємо тоді, коли певні розряди наступних чисел співпадають з
відповідними розрядами попередніх чисел. Повторювані
розряди можна виключити, замінивши їх певним умовним
символом. Вимога впорядкованості числових значень не є
обов’язковою, але при цьому імовірність існування повторень
підвищується.
Використання розділового знаку повторень.
Прямокутну таблицю числових значень представимо у вигляді
сукупності рядків. Розглядаючи кожний рядок в цілому як
єдине число певної розрядності, виконаємо їх впорядкування
за зростанням. При цьому помітимо, що в багатьох випадках
рядки відрізняються один від одного тільки в молодших
розрядах (справа). Згортаємо масив, відкидаючи в кожному
наступному рядку розряди, що повторюються в
попередньому. Відкинуті розряди у згорнутому масиві
відмічаємо розділовим знаком “#”. Розрядності рядків n
повинні бути однаковими.
Для прикладу розглянемо масив при n=7:
1 5 7 0 1 2 4
1 5 7 0 1 2 5
1 5 7 0 3 8 6
1 5 7 0 3 9 0
9 2 3 4 5 6 7
9 2 3 4 5 9 1
9 2 3 4 5 9 3
Згорнутий масив має вигляд:
1 5 7 0 1 2 4 # 5 # 3 8 6 # 9 0 # 9 2 3 4 5 6 7 # 9 1 # 3.
Розгортання масиву здійснюється з кінця. Спочатку
рядки відновлюються за їх розрядністю n. При цьому перехід
на наступний зверху рядок відбувається або при заповненні
даного рядка, або при зустрічі з розділовим знаком “#”:
1 5 7 0 1 2 4
_ _ _ _ _ _ 5
_ _ _ _ 3 8 6
_ _ _ _ _ 9 0
9 2 3 4 5 6 7
_ _ _ _ _ 9 1
_ _ _ _ _ _ 3
118