Proviamo a scrivere un programma per risolvere il seguente problema:
Devi inserire un numero (lascia che sia inferiore a 3.000.000) e determinare il numero di cifre che contiene.
Idea di soluzione
Iniziamo un contatore di cifre di un numero. Inizialmente, il contatore è 0. Dobbiamo solo tagliare in sequenza l'ultima cifra dal numero (questo può essere fatto riducendo il numero di 10 volte, usando la divisione intera per 10), e ogni volta che dobbiamo aumentare il contatore di 1.
Di conseguenza, dopo aver tagliato tutte le cifre, nel contatore otterremo il numero di cifre nel numero.
In un altro modo, l'algoritmo può essere formulato come segue:
FINO A CHE IL NUMERO NON È ZERO, DIMINUIRLO 10 volte e AUMENTARE IL CONTATORE DI 1.
numero (n) |
contatore |
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
Il programma sarà simile a questo.
var n, conteggio: intero;
inizio
leggi(n);
contare := 0;
mentre n <> 0 per iniziare
contare += 1;
n := n div 10;
FINE;
writeln('Numero - ', n, ' contiene ', conteggio, ' cifre');
FINE.
Devi conoscere questo programma a memoria, perché. sulla sua base vengono risolti molti altri problemi relativi al calcolo dei numeri per cifre.