Me da vergüenza hacer una pregunta tan simple. Mi mandato no comienza durante dos semanas más, así que no puedo preguntarle a un profesor, y el suspenso me mataría.
En x / y los resultados consisten en una parte entera y una parte fracción. Si multiplicas la parte fraccionaria con el divisor, obtienes el resto. Y x = Parte entera y + Resto (es decir, Fracción parte y). En este caso Parte entera es 0, y el resto es 2.
mshsayem
76
Me alegra que hayas tenido el valor de hacer esa pregunta.
pavimentar
el módulo está muy lejos de ser igual a dividir dos números.
holex
Respuestas:
151
Mod solo significa que tomas el resto después de realizar la división. Como 4 entra en 2 cero veces, terminas con un resto de 2.
Mucho más fácil si usas plátanos y un grupo de personas.
Digamos que tiene 1 banana y un grupo de 6 personas, esto expresaría: 1 mod 6/ 1 % 6/ 1 modulo 6.
Necesitas 6 plátanos para que cada persona del grupo esté bien alimentada y feliz.
Entonces, si tiene 1 plátano y necesita compartirlo con 6 personas, pero solo puede compartirlo si tiene 1 plátano para cada miembro del grupo, es decir, 6 personas, entonces tendrá 1 plátano (el resto, no se comparte con nadie en grupo), lo mismo ocurre con 2 plátanos. Entonces tendrás 2 plátanos como resto (no se comparte nada).
Pero cuando obtienes 6 plátanos, entonces deberías estar feliz, porque entonces hay 1 plátano para cada miembro en el grupo de 6 personas, y el resto es 0 o no quedan plátanos cuando compartiste los 6 plátanos en 6 personas.
Ahora, para 7 plátanos y 6 personas en grupo, tendrás 7 mod 6 = 1esto, porque le diste a 6 personas 1 plátano cada uno, y 1 plátano es el resto.
Para 12 mod 6o 12 bananas compartidas en 6 personas, cada una tendrá dos bananas, y el resto será 0.
También estaba confundido acerca de esto, solo hace unos minutos. Luego hice la división a mano en un pedazo de papel y tenía sentido:
4 entra en 2 cero veces.
4 veces 0 es 0.
Pones ese cero debajo del 2 y resta lo que deja 2.
Eso es lo más lejos que la computadora se va a llevar este problema. La computadora se detiene allí y devuelve el 2, lo que tiene sentido ya que eso es lo que está pidiendo "%" (mod).
Hemos sido entrenados para poner el decimal y seguir adelante, por lo que esto puede ser contradictorio al principio.
Alguien me contactó y me pidió que explicara con más detalles mi respuesta en el comentario de la pregunta. Entonces, esto es lo que le respondí a esa persona en caso de que pueda ayudar a alguien más:
La operación de módulo le proporciona el resto de la división euclidiana (que solo funciona con números enteros, no reales). Si tiene A tal que A = B * C + D (con D <B), entonces el cociente de la división euclidiana de A por B es C, y el resto es D. Si divide 2 por 4, el cociente es 0 y el resto es 2.
Supongamos que tiene objetos A (que no puede cortar). Y desea distribuir la misma cantidad de esos objetos a las personas B. Mientras tengas más de B objetos, le das 1 a cada uno de ellos y repites. Cuando te quedan menos de B objetos, te detienes y mantienes los objetos restantes. El número de veces que repite la operación, llamemos a ese número C, es el cociente. El número de objetos que conserva al final, llamémoslo D, es el resto.
Si tienes 2 objetos y 4 personas. Ya tienes menos de 4 objetos. Entonces cada persona obtiene 0 objetos, y usted conserva 2.
El operador de módulo evalúa el resto de la división de los dos operandos enteros. Aquí están algunos ejemplos:
23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3)
50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0)
9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)
El módulo es el resto, expresado como un entero, de una expresión de división matemática.
Entonces, supongamos que tiene un píxel en una pantalla en la posición 90 donde la pantalla tiene 100 píxeles de ancho y agrega 20, se ajustará a la posición 10. ¿Por qué ... porque 90 + 20 = 110, por lo tanto, 110% 100 = 10.
Para que lo entienda, considero que el módulo es la representación entera del número fraccionario. Además, si hace la expresión al revés y procesa el resto como un número fraccionario y luego se agrega al divisor, le dará su respuesta original.
Ejemplos:
100
(A) --- = 14 mod 2
7
123
(B) --- = 8 mod 3
15
3
(C) --- = 0 mod 3
4
MOD es el operador restante. Es por eso que 2 mod 4 da 2 como resto. 4 * 0 = 0 y luego 2-0 = 2. Para que quede más claro, intente hacer lo mismo con 6 mod 4 u 8 mod 3.
Podemos usar esta pequeña fórmula que se me ocurrió después de pensar un poco, tal vez ya está definida en algún lugar que no conozco pero funciona para mí, y es realmente útil.
A mod B = C donde C es la respuesta
K * B - A = |C| donde K es cuántas veces B cabe en A
Para una forma visual de pensarlo, imagina una esfera del reloj que, en tu ejemplo particular, solo va a 4 en lugar de 12. Si comienzas a las 4 en el reloj (que es como comenzar en cero) y gíralo en sentido horario para 2 "horas", aterrizas en 2, al igual que dar la vuelta en sentido horario durante 6 "horas" también te aterrizaría en 2 (6 mod 4 == 2 al igual que 2 mod 4 == 2).
@ do3boy: la idea de la esfera del reloj es un método muy simple y sencillo para describir exactamente el hecho del módulo. excepto que hubiera sido más fácil usar el formato de 24 horas para explicarlo en lugar de modificar el número de posiciones disponibles.
Atmocreations
0
Este podría ser un buen momento para mencionar la función modr (). Devuelve tanto el conjunto como el resto de una división.
print("\n 17 // 3 =",17//3," # Does the same thing as int(17/3)")
print(" 17 % 3 =",17%3," # Modulo division gives the remainder.")
whole, remain = divmod(17,3)
print(" divmod(17,3) returns ->",divmod(17,3),end="")
print(" because 3 goes into 17,",whole,"times with a remainder of",remain,end=".\n\n")
2 = 0 * 4 + 2
.Respuestas:
Mod solo significa que tomas el resto después de realizar la división. Como 4 entra en 2 cero veces, terminas con un resto de 2.
fuente
El módulo es el resto, no la división.
El signo
%
se usa a menudo para el operador de módulo, en lugar de la palabramod
.Para
x % 4
obtener la siguiente tabla (para 1-10)fuente
Módulo (mod,%) es el operador restante.
fuente
Mucho más fácil si usas plátanos y un grupo de personas.
Digamos que tiene 1 banana y un grupo de 6 personas, esto expresaría:
1 mod 6
/1 % 6
/1 modulo 6
.Necesitas 6 plátanos para que cada persona del grupo esté bien alimentada y feliz.
Entonces, si tiene 1 plátano y necesita compartirlo con 6 personas, pero solo puede compartirlo si tiene 1 plátano para cada miembro del grupo, es decir, 6 personas, entonces tendrá 1 plátano (el resto, no se comparte con nadie en grupo), lo mismo ocurre con 2 plátanos. Entonces tendrás 2 plátanos como resto (no se comparte nada).
Pero cuando obtienes 6 plátanos, entonces deberías estar feliz, porque entonces hay 1 plátano para cada miembro en el grupo de 6 personas, y el resto es 0 o no quedan plátanos cuando compartiste los 6 plátanos en 6 personas.
Ahora, para 7 plátanos y 6 personas en grupo, tendrás
7 mod 6 = 1
esto, porque le diste a 6 personas 1 plátano cada uno, y 1 plátano es el resto.Para
12 mod 6
o 12 bananas compartidas en 6 personas, cada una tendrá dos bananas, y el resto será 0.fuente
2/4 = 0 con un resto de 2
fuente
También estaba confundido acerca de esto, solo hace unos minutos. Luego hice la división a mano en un pedazo de papel y tenía sentido:
Eso es lo más lejos que la computadora se va a llevar este problema. La computadora se detiene allí y devuelve el 2, lo que tiene sentido ya que eso es lo que está pidiendo "%" (mod).
Hemos sido entrenados para poner el decimal y seguir adelante, por lo que esto puede ser contradictorio al principio.
fuente
Alguien me contactó y me pidió que explicara con más detalles mi respuesta en el comentario de la pregunta. Entonces, esto es lo que le respondí a esa persona en caso de que pueda ayudar a alguien más:
fuente
El operador de módulo evalúa el resto de la división de los dos operandos enteros. Aquí están algunos ejemplos:
fuente
mod significa el recordatorio cuando se divide por. Entonces 2 dividido por 4 es 0 con 2 restantes. Por lo tanto, 2 mod 4 es 2.
fuente
El módulo es el resto, expresado como un entero, de una expresión de división matemática.
Entonces, supongamos que tiene un píxel en una pantalla en la posición 90 donde la pantalla tiene 100 píxeles de ancho y agrega 20, se ajustará a la posición 10. ¿Por qué ... porque 90 + 20 = 110, por lo tanto, 110% 100 = 10.
Para que lo entienda, considero que el módulo es la representación entera del número fraccionario. Además, si hace la expresión al revés y procesa el resto como un número fraccionario y luego se agrega al divisor, le dará su respuesta original.
Ejemplos:
Invertido diseñado para:
fuente
Cuando divide 2 por 4, obtiene 0 con 2 sobrantes o restantes. El módulo es solo el resto después de dividir el número.
fuente
Creo que te estás confundiendo sobre cómo se lee la ecuación del módulo.
Cuando escribimos una ecuación de división tal como
2/4
estamos dividiendo 2 por 4.Cuando se escribe una ecuación de módulo tal como
2 % 4
estamos dividiendo2 by 4
(piense 2 sobre 4) y devolviendo el resto.fuente
MOD es el operador restante. Es por eso que 2 mod 4 da 2 como resto. 4 * 0 = 0 y luego 2-0 = 2. Para que quede más claro, intente hacer lo mismo con 6 mod 4 u 8 mod 3.
fuente
Este es el algoritmo de Euclides.
p.ej
a mod b = k * b + c => a mod b = c, donde k es un número entero y c es la respuesta
4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0
27 mod 5 = 5 * 5 + 2 => 27 mod 5 = 2
entonces tu respuesta es
2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2
fuente
Por:
2 mod 4
Podemos usar esta pequeña fórmula que se me ocurrió después de pensar un poco, tal vez ya está definida en algún lugar que no conozco pero funciona para mí, y es realmente útil.
A mod B = C
donde C es la respuestaK * B - A = |C|
donde K es cuántas veces B cabe en A2 mod 4
sería:0 * 4 - 2 = |C|
C = |-2| => 2
Espero que funcione para ti :)
fuente
La operación de mod funciona con recordatorio.
Esto se llama aritmética modular.
fuente
Para responder un módulo
x % y
, hace dos preguntas:A- ¿Cuántas veces
y
entrax
sin remanente? Para 2% 4 eso es 0.B- ¿Cuánto necesitas agregar para volver a eso
x
? Para volver de 0 a 2, necesitará 2-0, es decir, 2.Estos se pueden resumir en una pregunta como esta: ¿Cuánto necesitará agregar al resultado entero de la división de
x
byy
para volver ax
?Por entero se entiende solo números enteros y no fracciones de interés.
Un resto de división fraccional (por ejemplo, .283849) no es de interés en el módulo porque el módulo solo trata con números enteros.
fuente
Para una forma visual de pensarlo, imagina una esfera del reloj que, en tu ejemplo particular, solo va a 4 en lugar de 12. Si comienzas a las 4 en el reloj (que es como comenzar en cero) y gíralo en sentido horario para 2 "horas", aterrizas en 2, al igual que dar la vuelta en sentido horario durante 6 "horas" también te aterrizaría en 2 (6 mod 4 == 2 al igual que 2 mod 4 == 2).
fuente
Este podría ser un buen momento para mencionar la función modr (). Devuelve tanto el conjunto como el resto de una división.
fuente