Module: (C++) Division entière et reste


Problem

8 /16


Chiffres du nombre

Theory Click to read/hide

Calculer les chiffres d'un nombre

La nécessité d'appliquer l'opération de calcul du reste de la division est visible lorsque l'on travaille avec les chiffres d'un nombre. 
 
Tâche
Un nombre à trois chiffres est donné. Affichez tous les chiffres de ce nombre et obtenez un nouveau nombre formé par la permutation des unités et des centaines.

La question la plus difficile qui se pose aux débutants est de savoir comment décomposer un nombre en ses chiffres constitutifs.
En fait, tout est résolu assez simplement, si vous vous souvenez des calculs. Et les mathématiques nous disent que tout nombre peut être décomposé en une somme de termes numériques.
Par exemple : 365=3*100+6*10+5*1 . Nous voyons que chaque chiffre est un multiplicateur du chiffre correspondant du nombre. 
Montrons comment obtenir chaque chiffre d'un nombre dans une variable distincte. Considérez la procédure de division  une colonne du nombre 365 par le nombre 10  (nous prenons le nombre 10, car nous avons un système de numération décimale et, par conséquent, nous avons des termes de chiffres 1, 10, 100, etc.).
  

Après avoir analysé la figure, vous pouvez voir que :
  e = n % 10; // opération n % 10 - calcule le dernier chiffre du nombre n (c'est-à-dire le chiffre des unités)   // 365% 10 = 5 d = n / 10 % 10 ; // opération n / 10 - réduit le nombre de 10 fois,   // c'est-à-dire, supprime le dernier chiffre du nombre (365/10 = 36), // nous pouvons maintenant calculer le chiffre des dizaines en appliquant l'opération familière au résultat   // - calcule le reste après division par le nombre 10, 36% 10 = 6 s=n/100 ; // pour obtenir le chiffre des centaines, il suffit d'écarter deux chiffres à droite du nombre,   // c'est-à-dire diviser par 10 deux fois (n / 10 /10 ou identique à n / 100) 365 / 100 = 3
Après avoir reçu tous les chiffres du nombre, nous pouvons en faire un autre nombre en multipliant le chiffre souhaité par le chiffre correspondant : & nbsp; par exemple, la ligne ci-dessous obtiendra un nouveau nombre à partir du nombre d'origine n, avec des centaines et des unités réarrangées :
1) le nombre d'unités (stocké dans la variable e)  multiplié par 100 ; 
2) le chiffre des dizaines (stocké dans la variable d)  multiplier par 10 ; < br /> 3) on peut simplement multiplier le chiffre des centaines par 1, ou simplement prendre la valeur stockée dans la variable s ;
Ensuite, les valeurs ​​​​des points 1, 2 et 3 doivent être additionnées et nous obtenons un nouveau nombre : n1 = e * 100 + d * 10 + s ; L'ensemble du programme ressemblera à ceci :
  #includeiostream> en utilisant l'espace de noms 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); }

Problem

Écrivez un programme qui, étant donné un nombre à trois chiffres, imprime la somme des chiffres du nombre et un nouveau nombre formé en permutant des unités et des dizaines.

Entrée 
Un numéro à trois chiffres est saisi à partir du clavier.

Mentions légales
Deux nombres sur une ligne séparés par un espace : d'abord, la somme des chiffres du nombre, puis le nombre converti en fonction de l'état du problème.


Exemples
# Entrée Sortie
1 365 14 356