74 votos

Módulo de un número negativo

Considera la siguiente expresión:

(a - b) mod N

¿Cuál de las siguientes opciones es equivalente a la expresión anterior?

1) ((a mod N) + (-b mod N)) mod N

2) ((a mod N) - (b mod N)) mod N

Además, ¿cómo se calcula (-b mod N), es decir, cómo se calcula el mod de un número negativo?

Gracias.

75voto

Gregory J. Puleo Puntos 1348

Otras respuestas han abordado la cuestión inmediata, así que me gustaría abordar una cuestión filosófica.

Creo que la forma en que estás pensando en "mod" es un poco engañosa. Parece que estás pensando en "mod" como un operador: así que "13 mod 8" es otra forma de escribir el número "5". Esta es la forma en que los operadores de módulo suelen funcionar en los lenguajes de programación: en Python puedes escribir "13 % 8" y obtener el número 5.

Sin embargo, desde el punto de vista matemático, creo que es mejor pensar en "mod 8" como un adverbio que modifica a "=": cuando decimos "5 = 13 (mod 8)" en realidad estamos diciendo "5 es igual a 13", si se piensa en la igualdad como el funcionamiento del módulo 8". Cuando se piensa en "mod" de esta manera, no tiene realmente sentido preguntarse por la expresión "((a mod N) + (-b mod N)) mod N": ni siquiera es realmente una expresión, bajo esta interpretación.

No estoy tratando de decir que usted es equivocada para pensar en "mod" como una operación, porque la operación de "tomar un residuo mod $m$ " es una operación útil. Sin embargo, creo que también es útil tener en cuenta el otro significado de "mod".

(Después de escribir esta respuesta veo que la pregunta se publicó hace más de un año. Bueno, tal vez alguien más encuentre esto útil).

3 votos

Usted ha hecho muy bien el punto sobre mod como un modificador de la afirmación de igualdad, en lugar de un modificador de la expresión a ambos lados. Bien dicho.

0 votos

No creo que esto sea correcto. La forma correcta de pensar en el módulo es con una aritmética completamente diferente, y la igualdad no tiene nada que ver con la aritmética.

64voto

Newb Puntos 10494

Se calcula exactamente como el mod de un número positivo. En el módulo aritmético $c$ buscamos expresar cualquier $x$ como $qc+r$ , donde $r$ debe ser un número entero no negativo.

¿Por qué no lo probamos con un ejemplo?

Toma $-100$ mod $8 = 4$ . Esto se debe a que $8 \cdot -13 = -104$ . El resto es $4$ .

Así que ahora vamos a tomar $(37-54)$ mod $5$ . Es igual a $-17$ mod $5 = 3$ . Sustituye y haz el cálculo: Método $1$ da $3$ que es lo que queremos, y el método $2$ da $-2$ Así que el enfoque correcto es el método $1$ .

1 votos

Entonces, ¿puede (a-b) mod N se escriba como: ((a mod N) + N - (b mod N)) mod N ?

16 votos

¿Pero -2 mod 5 no dará 3? Ambos me parecen iguales...

4 votos

@Wonder: tienes $-2 \mod 5$ . Ahora, en la aritmética módulo $c$ buscamos expresar cualquier $x$ como $qc + r$ , donde $r$ debe ser un número entero no negativo. Así que $-2 = (-1 \cdot 5) + r$ Así que $r=3$ . Y así es, $-2 \mod 5 = 3$ .

39voto

muffle Puntos 395

Para encontrar $-b \mod N$ , sólo sigue añadiendo $N$ a $-b$ hasta que el número esté entre 0 y $N$ .

Como ejemplo, $N = 13, b = -27$ . Suma 13 a -27, obtienes -14, de nuevo obtienes -1, y de nuevo obtienes 12.

Así que, $-27 \mod 13 = 12$ .

Un poco más en general, es posible que quiera darse cuenta de que $a \mod N = a + kN \mod N$ para cualquier $k \in \mathbb{N}$ . Eso debería ayudar con su primera pregunta.

1 votos

Entonces, ¿puede (a-b) mod N se escriba como: ((a mod N) + N - (b mod N)) mod N ?

0 votos

Para aclarar, el número debe estar en el rango { x: x >=0 && x < N } es decir, -7 mod 7 es 0.

2voto

mono Puntos 11

la solución es la siguiente

digamos -144 mod 5 =>

(-144 + 145 - 145) mod 5 ya que 145 es un múltiplo de 5 =>

1 mod 5 =>

1...

para obtener el número 145.. hazlo así

-144 y 5 se da => 144/5 => 28 ..añadir 1 a él => 29 => 29 * 5 = 145 ..añadir este número a -144 y el valor es su modulo...es decir 145 - 144 => 1

1voto

JavaResp Puntos 503

La forma más rápida y sencilla de encontrar el mod de un número negativo es utilizando la siguiente propiedad

si a = (b) mod c entonces a = (c*k + b) mod c (donde k = 1,2,3.......) Simplemente dice que el valor de a no cambia cuando añadimos un múltiplo de c a b

Ejemplo

a = (10) mod 3 todos sabemos que a = 1 Ahora

a = (3*1 + 10) mod 3 - a sigue siendo = 1

a = (3*2 + 10) mod 3 - a sigue siendo = 1

a = (3*3 + 10) mod 3 - a sigue siendo = 1

a = (3*4 + 10) mod 3 - a sigue siendo = 1

Por lo tanto, la adición de cualquier múltiplo de 3 (> 0) a 10 no afecta al valor de un Ahora usamos esto a nuestro favor para encontrar mod de números negativos

Ejemplo

a = (-10) mod 3 Ahora añado 12 a 10 ya que 12 es un múltiplo de 3 y por lo tanto el valor de a permanecerá sin cambios

entonces a = (3*4 - 10) mod 3 = 2 mod 3 = 2

Es fácil, ¿no?

Otro ejemplo

a = (-340) mod 60 Entonces a = (60*6 - 340) mod 60 = (360-340) mod 60 = 20 mod 60 = 20

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X