math modulo

math - ¿Cuál es la idea de hacer x mod 1000000007?



modulo (1)

Déjame jugar un telépata. 1000 ... 7 son números primos y 1000000007 es el más grande que cabe en un entero de 32 bits. Dado que los números primos se utilizan para calcular el hash (al encontrar el resto de la división por primo), 1000000007 es bueno para calcular el hash de 32 bits.

En muchos problemas de programación (por ejemplo, algunos problemas del Proyecto Euler) se nos pide que informemos la respuesta como el resto restante después de dividir la respuesta por 1,000,000,007.

¿Por qué no cualquier otro número?

Edición: 2 años más tarde, esto es lo que sé: el número es un número primo grande, y cualquier respuesta a tal pregunta es tan grande que tiene sentido informar un resto (ya que el número puede ser demasiado grande para un tipo de datos nativo). encargarse de).