Division entière et reste
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, en commençant par les unités, et obtenez un nouveau nombre formé par la permutation des unités et des centaines.
Nous pensons toujours à un nombre dans son ensemble, mais n'oubliez pas que les nombres sont composés de chiffres. Comment sélectionner tous les chiffres d'un nombre ?
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 terme de bit correspondant.
Nous allons montrer comment obtenir chaque chiffre d'un nombre dans une variable distincte en utilisant l'exemple de la division par une colonne par le nombre 10. Nous prenons le nombre 10, car nous avons un système de numération décimale et, par conséquent, les termes binaires 1, 10, 100, etc.
En analysant 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),
# maintenant nous pouvons calculer le chiffre des dizaines,
# appliquer l'opération familière au résultat -
# calculer le reste après avoir divisé 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 deux fois divisé par 10
# (n // 10 // 10 ou identique à n // 100) 365 // 100 = 3 fort>
Ayant les chiffres du nombre stockés dans les variables, nous pouvons en faire n'importe quel autre nombre en multipliant le chiffre souhaité par les facteurs de bits appropriés (par 1, 10, 100, etc.) :
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 chiffre des unités (stocké dans le e
) multiplier par 100
,
2) le chiffre des dizaines (stocké dans la variable d
) multiplier par 10
,
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 simplement être additionnées et nous obtenons un nouveau nombre :
n1 = e*100 + d*10 + s ;
Le programme complet ressemblera à ceci :
n = int(entrée())
e = n% 10
d = n // 10% 10
s = n // 100
print(e, d, s, e*100 + d*10 + s)