����� �� �����.


������ ���������.

����������: ������ �����.

��������� ������� �� ��������.

���� B - ����������� �����, m1, m2, ..., mt - ������� ������� ����������� �����, ������������ ������� ������ ���� ����� B.

�������. ����� ����� x: 0 <= x <= B ����� ���� ���������� ������������ � ���� ������������������ v(x) = (v1, v2, ..., vt), ��� vi = x(mod mi).

�� ������������������ ���������� ��������� �������������� x. ����� ���������� ������������� ��� ���� x: 0 <= x <= B ���������� �������� �������.

��������.

����� - ������������������ wi = vi + ui mod mi
������������ - ���������� zi = vi * ui mod mi.

������� � ������� �����: ������� <=> ZB = Zm1 + ... + Zmt, ����� ������.�� ����� ��� �������� ������������ ��������� �������.

��������������: �������� �������.

�� ���������

1. For i from 2 to t {
    1.1 Ci := 1; 
    1.2 For j from 1 to (i-1) {
           u := mj-1 mod mi; 
	       Ci := u*Ci mod mi; 
        }
    }
2. u := v1; x := u; 
3. For i from 2 to t {
       u := (vi-x)Ci mod mi;
	   x := x + u* [ ������������ mj �� j=1 �� i-1 ]; 
    }
4. return (x);  

�����: �����
m1=5, m2=7, m3=11, m4=13, M=�mi=5*7*11*13=5005,
v(x) = (2, 1, 3, 8).

�������� Ci: C2=3, C3=6, C4=5.

������� (i, u, x), ����������� �� ���� 3: (1, 2, 2); (2, 4, 22); (3, 7, 267) � (4, 5, 2192).

���� ������� ��������� ������������� v(x) �������� x = 2192.

����. ���������� m-1 - ��������� �������� �� ������ ����� ����������� �� ��������� �������.


����� �� ��������, � ���������� � ���������.

SpyLOG