Teorema del resto chino
Si con frecuencia aparecen números enteros arbitrarios, o la representación de números enteros grandes en el lenguaje de programación de destino cuesta demasiados bytes, puede considerar usar el Teorema del resto chino.
Elija algunos enteros relativamente primos por pares m i > = 2, y puede expresar un gran número de 0 a mcm (m 1 , m 2 , ..., m i ) -1
Por ejemplo, elijo 2, 3, 5, 11, 79, 83, 89, 97, luego puedo expresar un número menor que 18680171730 únicamente. 10000000000 (1e10) se puede expresar como 0,1,0,1,38,59,50,49 (1e10 mod 2, 3 ..., 97) que no necesita expresarse como una clase / estructura especial de Big Integer que podría guardar Algunos bytes en algún lenguaje de programación.
La suma y la resta se pueden hacer directamente usando esta representación. Ejemplo:
(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)