Смекни!
smekni.com

Математические основы системы остаточных классов (стр. 11 из 19)

=
и, вообще, для
> 1
=
.

Перевод, осуществляемый согласно алгоритму (3.6´),содержит всего 2(

–1) остаточные арифметические операции вычитания и деления без остатка, где
– число модулей системы. Можно предложить некоторую модификацию, т. е. операция деления заменить операцией умножения. Для этого предварительно вычисляется
констант
, которые удовлетворяют условию

1(
), 1 ≤
<
. (3.7´)

Эти константы можно, например получить из расширенного алгоритма Евклида


= 1 (3.8´)

Здесь следует заметить тот факт, что константы

полностью определяются выбранной системой оснований, поэтому могут быть вычислены заранее и храниться в некоторой таблице. В приложении к [90] для модулей
и
не превосходящих 31 представлена таблица величин
.

Если константы

вычислены, то вычисление цифр
ОПС по алгоритму (3.6´) может быть переписано в виде:

,

, (3.9´)

,

.

Константы

принято также записывать в виде
=
и называть обратными элементами по умножению для чисел
по модулю
(multiplicativeinverse).

Рассмотрим алгоритм (3.9´) на примере.

Пример. Пусть дана система оснований

= 2,
= 3,
= 5,
= 7,
= 11. Объем диапазона
= 2310. переведем число
=(1, 1, 3, 5, 4) в ОПС.

Найдем сначала константы

:

=
=2,
=
=3,
=
=4,
=
=6,

=
=2,
=
=5,
=
=4,

=
=3,
=
=9,

=
=8.

Для удобства константы

запишем в виде матрицы
:

Выполнение алгоритма (3.9´) представлено в таблице

Перевод числа из СОК в ОПС

Действия Модули Цифры ОПС
= 2
= 3
= 5
= 7
= 11
1
21 11 41 71
=
=1
0 12 03 34 66
22 02 52 32
= 2 =
0 32 35 14
1
11 41
= 1 =
0 03 39
0
50
= 0 =
0 58
7–
= 7 =

Таким образом,