Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

74 votos

¿Cómo calcular (ab)mod y {-}b \bmod n?

Considera la siguiente expresión:

(a - b) mod N

¿Cuál de las siguientes 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 módulo de un número negativo?

Gracias.

75voto

Gregory J. Puleo Puntos 1348

Otras respuestas han abordado la pregunta inmediata, así que me gustaría abordar una 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: para que "13 mod 8" sea otra forma de escribir el número "5". Esta es la forma en que a menudo funcionan los operadores de módulo en los lenguajes de programación: en Python puedes escribir "13 % 8" y obtener de vuelta el número 5.

Matemáticamente, sin embargo, creo que es mejor pensar en "mod 8" como un adverbio que modifica "=": cuando decimos "5 = 13 (mod 8)" en realidad estamos diciendo "5 es igual a 13, si piensas en la igualdad como trabajando modulo 8". Cuando piensas en "mod" de esta manera, realmente no tiene sentido preguntar sobre 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 estás equivocado por pensar en "mod" como una operación, porque la operación de "tomar un residuo módulo 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

Has hecho muy bien el punto sobre mod como un modificador de la afirmación de igualdad, en lugar de ser un modificador de la expresión en cualquiera de los 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 módulo de un número positivo. En aritmética módulo c, buscamos expresar cualquier x como qc+r, donde r debe ser un entero no negativo.

¿Por qué no lo probamos con un ejemplo?

Tomemos -100 mod 8 = 4. Esto es porque 8 \cdot -13 = -104. El resto es 4.

Así que ahora tomemos (37-54) mod 5. Es igual a -17 mod 5 = 3. Sustituye y realiza el cálculo: El método 1 da 3, que es lo que queremos, mientras que el método 2 da -2, por lo que el enfoque correcto es el método 1.

1 votos

Entonces, ¿puede (a-b) mod N ser escrito como: ((a mod N) + N - (b mod N)) mod N?

16 votos

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

4 votos

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

39voto

muffle Puntos 395

Para encontrar -b \mod N, simplemente sigue sumando 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, nuevamente obtienes -1, y nuevamente obtienes 12.

Entonces, -27 \mod 13 = 12.

Un poco más en general, quizás quieras darte cuenta de que a \mod N = a + kN \mod N para cualquier k \in \mathbb{N}. Eso debería ayudar con tu primera pregunta.

1 votos

Entonces, ¿se puede escribir (a-b) mod N 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 así

decir -144 mod 5 =>

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

1 mod 5 =>

1...

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

-144 y 5 se dan => 144/5 => 28 ..sumar 1 => 29 => 29 * 5 = 145 ..añadir este número a -144 y el valor es tu módulo...es decir 145 - 144 => 1

1voto

JavaResp Puntos 503

La forma más rápida y sencilla de encontrar el módulo de un número negativo es utilizando la propiedad que se muestra a continuación

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 sumamos 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, añadir cualquier múltiplo de 3 (> 0) a 10 no afecta el valor de a Ahora utilizamos esto a nuestro favor para encontrar el módulo de números negativos

Ejemplo

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

así que a = (3*4 – 10) mod 3 = 2 mod 3 = 2

fácil ¿verdad?

Otro ejemplo

a = (-340) mod 60 Así que 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