Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo calcula Python -1710=3?

¿Cómo calcula Python -1710=3?

La operación de módulo se realiza así:?

Suponiendo que a = xy requerido, el valor de a se puede calcular mediante la siguiente fórmula:?

a = x - (x/y)*y, ¿la división se realiza según la división entera?

Luego, ingresa tus números en la fórmula:?

-1710=-17-(-17/10)*10=-17-(-2)*10=3.

La clave para producir este resultado radica en la fórmula del módulo del programa, que puede garantizar que?

Y es un número positivo y el resultado de la operación de multiplicación modular es [0 , y),?

p>

Y es un número negativo y el resultado de la operación de módulo es (y, 0)

Por lo general, la gente espera que el cociente y el resto de las divisiones de enteros tienen las siguientes propiedades:?

1.Divisor = divisor * cociente resto?

2. Cuando cambia el signo del divisor, también cambia el signo del cociente, pero ¿el valor absoluto sigue siendo el mismo?

3. ¿El signo del resto es el mismo que el signo del divisor?

Pero, de hecho, estos tres puntos no siempre pueden satisfacerse. ¿Se cumple necesariamente el primer punto?

Por ejemplo, si 3/2 es 1 y 32 es 1, entonces para satisfacer el punto 2, -3/2 debe ser -1 y -32 debe ser -1, lo que no satisface el punto 3; Para satisfacer el punto 3, -32 debe ser 1 y -3/2 debe ser -2, lo que no satisface el punto 2.

Entonces, los lenguajes de programación típicos elegirán el #2 o el #3, mientras que Python elegirá la forma que satisfaga el #3. Muchos otros idiomas elegirían el puesto 2. Entonces, en Python, ¿-1710 es 3 y -17/10 es -2?

Tenga en cuenta que en Python 3, "/" significa división, no división de enteros, por lo que -17/10 es -1,7 en Python 3, y dos "/" significa división de enteros: -17/10 ¿Es así? -2?

Este tema se trata en "Trampas y peligros del lenguaje C".

Este problema se explica en "Trampas y errores del lenguaje C".