Calcular dígitos de um número
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 e obtenha um novo número formado pela permuta de unidades e centenas.
A questão mais difícil que surge para iniciantes é como decompor um número em seus dígitos constituintes.
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 dígito correspondente do número.
Vamos mostrar como obter cada dígito de um número em uma variável separada. Considere o procedimento de divisão uma coluna do número 365 pelo número 10 (pegamos o número 10, porque temos um sistema de numeração decimal e, portanto, temos termos de dígitos 1, 10, 100, etc.).
Depois de analisar 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 dígito das dezenas aplicando a operação familiar ao resultado
// - calcula o resto após a divisão 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, divide por 10 duas vezes (n / 10 /10 ou o mesmo que n / 100) 365 / 100 = 3
Tendo recebido todos os dígitos do número, podemos fazer outro número com eles multiplicando o dígito desejado pelo dígito correspondente: & nbsp; por exemplo, a linha abaixo obterá um novo número do número original n
, com centenas e unidades reorganizadas:
1) o número de unidades (armazenado na variável e
) multiplicado por 100
;
2) o dígito das dezenas (armazenado na variável d
) multiplique por 10
; < br />
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 somados e obtemos um novo número:
n1 = e * 100 + d * 10 + s;
Todo o programa ficará assim:
#includeiostream>
usando namespace std;
principal()
{
int n, e, d, s;
cin>> n;
e = n % 10;
d = n/10% 10;
s = n/100;
cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s);
}