martes, 2 de junio de 2026

Contar los dígitos múltiplos de tres en C++

Código del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int num, cm = 0;
    cout<<"Ingrese un número: "; cin>>num;
    while(num > 0){
        if((num % 10) % 3 == 0){
            cm++;
        }
        num /= 10;
    }
    cout<<"Los dígitos múltiplos de tres son: "<<cm;
    return 0;
}

Definición de los códigos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida estándar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuración regional.
using namespace std; --> un espacio de nombres es una colección de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca estándar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la función main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecución del programa. Cuando se ejecuta un programa C++, el control de ejecución va directamente a la función main(). Cada programa C++ tiene una función main().
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida estándar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
/= --> el operador de asignación de división ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.

Explicación del Código:

Este programa solicita un número entero positivo y cuenta cuántos de sus dígitos son múltiplos de 3. Al finalizar, muestra la cantidad encontrada.

1. Inclusión de librerías

#include <iostream>
#include <clocale>

Estas librerías permiten utilizar funciones de entrada y salida de datos (cin y cout) y configurar el idioma del programa.

2. Espacio de nombres

using namespace std;

Permite utilizar los elementos de la biblioteca estándar sin escribir std:: delante de cada uno.

3. Función principal

int main() { ... }

La función main() es el punto de inicio de ejecución del programa.

4. Configuración regional

setlocale(LC_CTYPE, "Spanish");

Configura el programa para trabajar correctamente con caracteres propios del idioma español.

5. Declaración de variables

int num, cm = 0;
  • num: almacena el número ingresado por el usuario.
  • cm: contador de dígitos múltiplos de 3 encontrados.

6. Entrada de datos

cout << "Ingrese un número: ";
cin >> num;

Se solicita al usuario ingresar un número y se guarda en la variable num.

7. Recorrido de los dígitos

while(num > 0)

El ciclo se ejecuta mientras el número sea mayor que cero. En cada repetición se analiza el último dígito del número.

8. Verificación de múltiplos de 3

if((num % 10) % 3 == 0) { cm++; }

La expresión num % 10 obtiene el último dígito del número. Luego se verifica si dicho dígito es múltiplo de 3.

Si el residuo de dividir el dígito entre 3 es igual a 0, significa que el dígito es múltiplo de 3 y el contador cm aumenta en uno.

Los dígitos múltiplos de 3 son: 0, 3, 6 y 9.

9. Eliminación del último dígito

num /= 10;

Divide el número entre 10 y elimina el último dígito ya analizado para continuar con el siguiente.

10. Mostrar resultado

cout << "Los dígitos múltiplos de tres son: " << cm;

Muestra la cantidad total de dígitos múltiplos de 3 encontrados en el número ingresado.

11. Finalización del programa

return 0;

Indica que el programa terminó correctamente.

Ejemplo de ejecución

Ingrese un número: 96342

Último dígito: 2 → No es múltiplo de 3
Último dígito: 4 → No es múltiplo de 3
Último dígito: 3 → Sí es múltiplo de 3
Último dígito: 6 → Sí es múltiplo de 3
Último dígito: 9 → Sí es múltiplo de 3

Los dígitos múltiplos de tres son: 3

Resumen

El programa recorre cada dígito de un número utilizando operaciones matemáticas. Obtiene el último dígito con % 10, verifica si es múltiplo de 3, incrementa un contador cuando lo es y finalmente muestra la cantidad encontrada.

No hay comentarios.:

Publicar un comentario

Pedir la edad y determinar si puede o no sacar licencia de conducir en C++

Código del ejercicio: #include <iostream> using namespace std ; int main () {     int edad;     cout<< "Ing...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️