¿Qué es ‘Mod’ (%) en matemáticas? ¿Cuáles son sus usos? ¿Cómo funciona (no la forma de porcentaje)?

Si multiplica una serie de números, y cualquiera de ellos es par, el resultado es par. Solo cuando todos son impares, el resultado es impar.

Si agrega dos números impares, el resultado es par. Si agrega un par y un impar, el resultado es impar. Puede resolver muchos problemas en matemáticas, simplemente mirando si los números son pares o impares.

Ser par o impar es una propiedad de los números naturales con respecto a su divisibilidad por dos. La divisibilidad entre 2 separa los números en dos categorías, y solo analizando las categorías como un todo, puede predecir o verificar resultados diferentes.

Si escribo 4,323 × 3,574 = 15,923,247, puedo decir de inmediato que está mal porque el resultado no puede ser extraño.


¿Cómo puedes saber si un número es divisible por 3? Puedes agregar los dígitos. Veamos 15.923.347 (del ejemplo anterior). Si sumamos los dígitos que obtenemos: 1 + 5 + 9 + 2 + 3 + 3 + 4 + 7 = 34, y 34 no es divisible por 3, por lo que tampoco es 15.923.347. De hecho, si divido 15.923.347 por 3, obtenemos 5.307.782 y un recordatorio de 1. Si dividimos 34 por árbol, obtenemos 11 y un recordatorio de 1. Ese recordatorio no es una coincidencia. El recordatorio es siempre el mismo cuando divide un número entre 3, o divide entre 3 la suma de sus dígitos.

Sin embargo, puedo predecir si un número grande es divisible por 3, sin siquiera agregar los números. Tomemos 15.923.347. Primero me deshago de los dígitos que son divisibles por 3: 0, 3, 6, 9; así que nos queda: 1 5 2 4 7. Los separaré en dos categorías: la primera categoría es {1,4,7}, y la segunda es {2,5,8}. Cancelemos cualquier dígito en una categoría con un dígito en la otra categoría. 1 se cancela con 5. 2 se cancela con 4. Y nos queda el número 7. Como siete no es divisible por tres, el número original tampoco es divisible. Si observa que 7 = 2 × 3 + 1, el recordatorio de 7, cuando se divide entre 3 es 1. Esto tampoco es una coincidencia.

Todos los números naturales se pueden separar por tres categorías: aquellos divisibles por tres, aquellos cuyo recordatorio es 1 cuando se divide por 3, y aquellos cuyo recordatorio es 2 cuando se divide por 3. En la primera categoría hay dígitos {0,3,6,9 }. La segunda categoría incluye dígitos {1,4,7}, y la tercera categoría incluye dígitos {2,5,8}. (mire cualquier teclado numérico y verifique dónde está cada categoría).

Simplemente mirando estas tres categorías podemos predecir en qué categoría será un resultado. Si agregamos números en la primera categoría, el resultado siempre estará en esa categoría. Si agregamos un número en la segunda categoría con un número en la tercera categoría, el resultado será el primero: 1 + 5 es 6. 2 + 4 es 6.

Además, si multiplicamos cualquier número con un número en la segunda categoría, estará en la categoría original. Así como multiplicar con 1 es invariante, multiplicar con la categoría de 1 (recordatorio 1) es invariante.

Sucede que 10 está en esa segunda categoría (la categoría de 1). y así es 10 × 10, y 10 × 10 × 10, y así sucesivamente. Entonces 15,923,347 es 1 × 10 × 10 × 10 × 10 × 10 × 10 × 10 + 5 × 10 × 10 × 10 × 10 × 10 × 10 + 9 × 10 × 10 × 10 × 10 × 10 + 2 × 10 × 10 × 10 × 10 + 3 × 10 × 10 × 10 + 3 × 10 × 10 + 4 × 10 + 7. Si usamos el resultado de que multiplicar por la categoría de 1 es invariante, 15,923,347 está en la misma categoría que 1 + 5 + 9 + 2 + 3 + 3 + 4 + 7. Si agregamos un número en la primera categoría (múltiplos de tres o categoría de 0), el resultado es invariable, por lo que 1 + 5 + 9 + 2 + 3 + 3 + 4 + 7 está en la misma categoría que 1 + 5 + 2 + 4 + 7. El resultado final, esa segunda y tercera categoría dan la primera categoría, ayuda a reducir: 1 + 5 es divisible por 3 y se cancela. Entonces es 2 + 4.

Entonces, sabiendo esto, puede saber rápidamente, sin siquiera hacer una operación, en qué categoría se encuentra un número.


Así que hemos visto en acción aritmética módulo 2 y módulo 3. También podemos usar módulo aritmético cualquier otro número natural, y puede mostrar diferentes propiedades.

Entonces podemos definir una relación. Dados tres números: [matemática] n, k, b [/ matemática], diremos que [matemática] n [/ matemática] es equivalente a [matemática] k [/ matemática] módulo [matemática] b [/ matemática] ( escrito [matemática] n \ equiv k \ mod b [/ matemática]) si y solo [matemática] n [/ matemática] y [matemática] k [/ matemática] tiene el mismo recordatorio cuando se divide por [matemática] b [/ matemática ] O, la expresión equivalente. [math] nk [/ math] es divisible por [math] b [/ math].

También podemos definir un operador [math] \ bmod [/ math]. Este operador toma [matemática] n [/ matemática] y [matemática] b [/ matemática]. y [math] n \ bmod b [/ math] se define como el número entero no negativo más pequeño [math] r [/ math] como [math] n \ equiv r \ mod b [/ math]. Esto es lo mismo que el recordatorio después de la división entera de [matemáticas] n [/ matemáticas] por [matemáticas] b [/ matemáticas].

Cuando tenemos dos enteros n y b, la división no siempre está bien definida. Pero podemos definirlo con un recordatorio. Entonces tenemos [math] n \ div b [/ math] y [math] n \ bmod b [/ math], como los dos resultados de dividir [math] n [/ math] por [math] b [/ math] : el cociente y el recordatorio.


Cuando se usan lenguajes de programación, a veces se necesita una división real normal ([matemática] 7 \ div4 = 1.75 [/ matemática]) y a veces se necesita una división entera ([matemática] 7 \ div4 [/ matemática] tiene cociente [matemática] 1 [ /matemáticas]). Si necesita el recordatorio, puede usar 7 - 4*(7/4) si / significa división entera (o 7-4*int(7/4) ).

Idiomas como Pascal, tiene dos operantes diferentes para la división: 7/4 significa división real ( 1.75 ), mientras que 7 DIV 4 significa división entera ( 1 ), y para evitar expresiones como 7 - 4*(7 DIV 4) , proporciona el operador MOD . Entonces 7 MOD 4 daría el resultado correcto 3 .

En el lenguaje C, utilizaron un enfoque diferente. La barra oblicua / solidus / siempre significará división entera si todos los operantes son de tipo entero. Entonces, si desea la división real, debe definir cualquier operante como flotante: 7.0/4 o 7/(float)4 . En C, quieren evitar el uso de palabras como operadores, por lo que usaron algún símbolo oscuro y raramente usado en el juego de caracteres ASCII para el operador [math] \ bmod [/ math], por lo que 7%4 significa [math] 7 \ bmod4 [ / matemáticas] (o 7 MOD 4 en Pascal).

Ese es el origen del operador de porcentaje en C y los lenguajes que se derivan de C (C ++, Java, Python, PHP).

Entonces n%b , cuando n y b son de tipo entero, significa, el recordatorio de n dividido por b . Entonces, si desea preguntar si n es impar, puede preguntar n%2 == 1 .

En matemática, la aritmética modular es un sistema de aritmética para enteros, donde los números se “envuelven” al alcanzar un cierto valor: el módulo ( módulo plural). El enfoque moderno de la aritmética modular se desarrolló en 1801. Son todos los enteros que puede tener un dominio de números antes de comenzar a usarlos nuevamente.

Un uso familiar de la aritmética modular se encuentra en el reloj de 12 horas, en el que el día se divide en dos períodos de 12 horas. Si el tiempo es 7umbers: 00 ahora, 8 horas después serán las 3:00. La adición habitual sugeriría que el tiempo posterior debería ser 7 + 8 = 15, pero esta no es la respuesta porque el tiempo del reloj “gira” cada 12 horas. Debido a que el número de hora comienza de nuevo después de llegar a 12, este es el módulo aritmético 12. De acuerdo con la siguiente definición, 12 es congruente no solo con el 12 en sí, sino también con 0, por lo que el tiempo llamado “12:00” también podría llamarse “0:00”, ya que 12 es congruente con 0 módulo 12.

Usando tiempo militar o de 24 horas, el mod sería 24. El ejemplo anterior de 7:00 + 8 horas más tarde sería 0700 + 8 = 1500, que es un tiempo válido para ese sistema. Pero 8 horas más tarde serían 1500 + 8 = 2300, pero una vez más, esa no es la respuesta porque el tiempo de reloj de 24 horas “gira” cada 24 horas. Los números de hora comienzan de nuevo después de llegar a 24, por lo que este es el módulo aritmético 24. Y nuevamente 2400 podría llamarse 0000.

El uso de % aquí es peculiar de C y los lenguajes derivados de él. No es normal en matemáticas.

Mucho más importante, aunque es común referirse a esto como un operador de “módulo” o “mod”, en realidad no lo es. En otros idiomas, como Pascal o Modula-3 (!), El operador en realidad se denota con la palabra clave mod . Es solo un operador restante, y no debería darse aires pretendiendo ser algo más ambicioso.

La idea detrás de la aritmética modular es que una gran cantidad de aritmética de enteros (ciertamente no todos) puede simplificarse de manera interesante considerando juntos todos los enteros que difieren entre sí por un múltiplo de un solo entero distinto de cero, el “módulo”. Claramente, esto ordena enteros que comparten un resto (adecuadamente definido) después de dividir por el módulo.

Técnicamente, los elementos de un álgebra modular [math] Z_n [/ math] para un módulo [math] n [/ math] son ​​exactamente conjuntos de enteros que se agrupan así (se denominan “clases de residuos”, donde “residuo “Realmente solo significa” resto “). Cuando hablo de un álgebra como la simplificación de la aritmética de enteros, quiero decir que hay un anillo homomorfismo de los enteros a [matemáticas] Z_n [/ matemáticas].

Un módulo siempre se especifica como un entero positivo. Un módulo entero negativo se comporta de todas las formas interesantes al igual que su contraparte de valor absoluto, por lo que esto no es realmente una restricción.

Una característica importante de este homomorfismo es que realmente es solo un homomorfismo en anillo, y arroja todo tipo de información sobre los enteros. Los elementos de [math] Z_n [/ math] no tienen orden natural, por ejemplo, y los múltiplos de [math] m [/ math], donde [math] m [/ math] es coprime a [math] n [/ matemáticas], se dispersan a través de los elementos de [matemáticas] Z_n [/ matemáticas]. En términos de teoría de anillos, el ideal de múltiplos de [math] m [/ math] se asigna al ideal trivial [math] Z_n [/ math].

Donde se pone interesante es que realmente puedes ganar estructura y perderla. En general, no se pueden dividir enteros entre sí. En [math] Z_n [/ math], puede dividir por (encontrar un inverso multiplicativo para) cualquier clase de residuo cuyo resto asociado sea coprime con [math] n [/ math]. Si [math] n [/ math] es primo, a menudo escrito [math] Z_p [/ math], la única clase de residuo que no tiene un inverso multiplicativo es “[math] 0 [/ math]”, es decir, clase de residuo que incluye [math] 0 [/ math], por lo que los enteros se han mapeado mágicamente en un campo.

El resto después de la división entera. Este sería el componente “R” de la división de libros escolares.

Por ejemplo: 727 mod 133

133 entra en 727 cinco veces, dando un resultado de 665. Resta 665 de 727 y el resto ia 62, entonces 727% 133 = 62.