División de enteros y resto
La necesidad de aplicar la operación de calcular el resto de la división se hace visible cuando se trabaja con las cifras de un número.
Tarea
Se da un número de tres dígitos. Muestre todos los dígitos de este número, empezando por las unidades, y obtenga un nuevo número formado por permutar unidades y centenas.
Siempre pensamos en un número como un todo, pero no olvides que los números se componen de dígitos. ¿Cómo se seleccionan todos los dígitos de un número?
De hecho, todo se resuelve de manera bastante simple, si recuerdas las matemáticas. Y las matemáticas nos dicen que cualquier número se puede descomponer en una suma de dígitos.
Por ejemplo:
365 = 3*100 + 6*10 + 5*1 .
Vemos que cada dígito es un multiplicador del término bit correspondiente.
Mostraremos cómo convertir cada dígito de un número en una variable separada usando el ejemplo de dividir una columna por el número 10. Tomamos el número 10, porque tenemos un sistema numérico decimal y, en consecuencia, los términos de bit 1, 10, 100, etc.
Analizando la figura, se puede ver que
e = n% 10
# operación n % 10 - calcula el último dígito del número n
# (es decir, el dígito de las unidades) 365 % 10 = 5
d = n // 10% 10
# operación n // 10 - reduce el número 10 veces,
# es decir, descarta el último dígito del número (365 // 10 = 36),
# ahora podemos calcular el dígito de las decenas,
# aplicando la operación familiar al resultado -
# calcular el resto después de dividir por el número 10, 36 % 10 = 6
s = norte // 100
# para obtener el dígito de las centenas, basta con descartar dos dígitos de la derecha del número,
# es decir, dos veces dividido por 10
# (n // 10 // 10 o lo mismo que n // 100) 365 // 100 = 3 fuerte>
Teniendo los dígitos del número almacenados en las variables, podemos hacer cualquier otro número a partir de ellos multiplicando el dígito deseado por los factores de bit apropiados (por 1, 10, 100, etc.):
Por ejemplo, la siguiente línea obtendrá un nuevo número del número original n
, con centenas y unidades reorganizadas:
1) el dígito de las unidades (almacenado en e
) multiplicar por 100
,
2) el dígito de las decenas (almacenado en la variable d
) multiplicar por 10
,
3) podemos simplemente multiplicar el dígito de las centenas por 1
, o simplemente tomar el valor almacenado en la variable s
.
Luego simplemente se deben sumar los valores de los puntos 1, 2 y 3 y obtenemos un nuevo número:
n1 = e*100 + d*10 + s;
El programa completo se verá así:
n = int(entrada())
e = n% 10
d = n // 10% 10
s = norte // 100
imprimir(e, d, s, e*100 + d*10 + s)