Intentemos escribir un programa para resolver el siguiente problema:
Debe ingresar un número (que sea menor a 3,000,000) y determinar la cantidad de dígitos en él.
Idea de solución
Comencemos un contador de dígitos de un número. Inicialmente, el contador es 0. Solo necesitamos eliminar secuencialmente el último dígito del número (esto se puede hacer reduciendo el número 10 veces, usando la división de enteros por 10), y cada vez que necesitamos aumentar el contador por 1.
Como resultado, después de cortar todos los dígitos, en el contador obtendremos la cantidad de dígitos en el número.
De otra manera, el algoritmo se puede formular de la siguiente manera:
HASTA QUE EL NUMERO NO SEA CERO DISMINUYELO 10 veces y AUMENTE EL CONTADOR EN 1.
número (n) |
contador |
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
El programa se verá así.
var n, cuenta: entero;
comenzar
leer(n);
cuenta := 0;
mientras que n <> 0 para comenzar
cuenta += 1;
n := n división 10;
fin;
writeln('Número - ', n, ' contiene ', cuenta, ' dígitos');
fin.
Necesitas saber este programa de memoria, porque. sobre esta base, se resuelven muchos otros problemas relacionados con el cálculo de números por dígitos.
Problem
Ejecute el programa.
Mira el resultado de su trabajo.
¿Está todo bien en la frase de salida?
Piensa en cómo puedes solucionar este problema.