Essayons d'écrire un programme pour résoudre le problème suivant :
Vous devez saisir un nombre (qu'il soit inférieur à 3 000 000) et déterminer le nombre de chiffres qu'il contient.
Idée de solution
Commençons un compteur de chiffres d'un nombre. Initialement, le compteur est 0. Nous avons juste besoin de couper séquentiellement le dernier chiffre du nombre (cela peut être fait en réduisant le nombre de 10 fois, en utilisant une division entière par 10), et à chaque fois nous devons augmenter le compteur de 1.
En conséquence, après avoir coupé tous les chiffres, dans le compteur, nous obtiendrons le nombre de chiffres dans le nombre.
D'une autre manière, l'algorithme peut être formulé comme suit :
JUSQU'À CE QUE LE NOMBRE NE SOIT PAS ZÉRO, DIMINUEZ-LE 10 fois et AUGMENTEZ LE COMPTEUR DE 1.
nombre (n) |
compteur |
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
Le programme ressemblera à ceci.
var n, compte : entier ;
commencer
lire(n);
compter := 0;
tandis que n <> 0 pour commencer
compter += 1 ;
n := n div 10;
fin;
writeln('Nombre - ', n, ' contient ', compte, ' chiffres');
fin.
Vous devez connaître ce programme par cœur, car. sur sa base, de nombreux autres problèmes liés au calcul des nombres par chiffres sont résolus.