Định lý còn lại của Trung Quốc
Nếu số nguyên lớn tùy ý thường xuyên xuất hiện hoặc biểu diễn số nguyên lớn trong ngôn ngữ lập trình đích tốn quá nhiều byte, bạn có thể xem xét sử dụng Định lý còn lại của Trung Quốc.
Chọn một số số nguyên tương đối cặp m i > = 2 và bạn có thể biểu thị một số lớn từ 0 đến lcm (m 1 , m 2 , ..., m i ) -1
Ví dụ: tôi chọn 2, 3, 5, 11, 79, 83, 89, 97, sau đó tôi có thể biểu thị số nhỏ hơn 18680171730. 10000000000 (1e10) có thể được biểu thị bằng 0,1,0,1,38,59,50,49 (1e10 mod 2, 3 ..., 97) không cần được biểu thị dưới dạng lớp / cấu trúc Big Integer đặc biệt có thể lưu một số byte trong một số ngôn ngữ lập trình.
Bổ sung và cơ chất có thể được thực hiện trực tiếp bằng cách sử dụng đại diện này. Thí dụ:
(0,1,0,1,38,59,50,49)+(0,2,0,6,23,20,16,53) = 1e10 + 5000
= (0+0 mod 2, 1+2 mod 3, 0+0 mod 5, 1+6 mod 11, 38+23 mod 79, 59+20 mod 83, 50+16 mod 89, 49+53 mod 97)