Module: (Python) Divisão inteira e resto


Problem

8 /18


Permutação de números

Theory Click to read/hide

Divisão inteira e resto

A necessidade de aplicar a operação de cálculo do resto da divisão é visível quando se trabalha com os dígitos de um número. 
 
Tarefa
É fornecido um número de três dígitos. Exiba todos os dígitos desse número, começando com unidades, e obtenha um novo número formado pela permuta de unidades e centenas.

Sempre pensamos em um número como um todo, mas não esqueça que os números são formados por algarismos. Como você seleciona todos os dígitos de um número?
Na verdade, tudo é resolvido de forma bastante simples, se você se lembrar da matemática. E a matemática nos diz que qualquer número pode ser decomposto em uma soma de termos de dígitos.

Por exemplo: 365 = 3*100 + 6*10 + 5*1 .
Vemos que cada dígito é um multiplicador do termo de bit correspondente. 

Mostraremos como obter cada dígito de um número em uma variável separada usando o exemplo da divisão por uma coluna pelo número 10. Tomamos o número 10, porque temos um sistema numérico decimal e, consequentemente, os termos de bit 1, 10, 100, etc.

  

Analisando a figura, você pode ver que  e = n% 10 # operação n % 10 - calcula o último dígito do número n # (ou seja, o dígito das unidades) 365 % 10 = 5 d = n // 10% 10 # operação n // 10 - reduz o número em 10 vezes, # ou seja, descarta o último dígito do número (365 // 10 = 36), # agora podemos calcular o algarismo das dezenas, # aplicando a operação familiar ao resultado - # calcula o resto depois de dividir pelo número 10, 36 % 10 = 6 s = n // 100 # para obter o algarismo das centenas, basta descartar dois algarismos à direita do número, # ou seja, duas vezes dividido por 10 # (n // 10 // 10 ou o mesmo que n // 100) 365 // 100 = 3
Tendo os dígitos do número armazenados nas variáveis, podemos fazer qualquer outro número deles multiplicando o dígito desejado pelos fatores de bit apropriados (por 1, 10, 100, etc.): 
Por exemplo, a linha abaixo obterá um novo número a partir do número original n, com centenas e unidades reorganizadas:
1) o dígito das unidades (armazenado no  e)  multiplique por 100
2) o dígito das dezenas (armazenado na variável d)  multiplique por 10
3) podemos simplesmente multiplicar o dígito das centenas por 1, ou simplesmente pegar o valor armazenado na variável s.
Então os valores dos pontos 1, 2 e 3 devem ser simplesmente somados e obtemos um novo número: n1 = e*100 + d*10 + s;
O programa completo ficará assim: n = int(entrada()) e = n% 10 d = n // 10% 10 s = n // 100 print(e, d, s, e*100 + d*10 + s)

Problem

Entrada
Um número natural de três dígitos é inserido no teclado.

Impressão
Emita a soma separada por espaço dos dígitos do número e o novo número formado pela permutação de unidades e dezenas em uma linha.

 

Exemplos
# Entrada Saída
1 123 6 132