|
|||||
����������: ������ �����.��������� ������� �� ��������.����� 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); ������: ����� ��������� 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 - ��������� �������� �� ������ ����� ����������� �� ��������� �������. |