Alguien que me pueda ayudar?

lucia gerk
29 de Noviembre del 2019

tengo que hacer un programa en c++ que muestre los numeros del 1 al 10 y diga si es impar y si es multiplo de 5 o de 3 ..

por ejemplo:

1. impar

2. ------

3.impar y multiplo de 3

4.-------

5.impar y multiplo de 5


Antonia G.
12 de Agosto del 2026

¡Hola!

Para esto lo único que necesitas es el operador módulo (%), que te da el resto de una división. Un número es impar si el resto de dividirlo entre 2 no es 0, y es múltiplo de 3 (o de 5) si el resto de dividirlo entre ese número es exactamente 0:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        cout << i << ". ";

        bool escribioAlgo = false;

        if (i % 2 != 0) {
            cout << "impar";
            escribioAlgo = true;
        }

        if (i % 3 == 0) {
            cout << (escribioAlgo ? " y multiplo de 3" : "multiplo de 3");
            escribioAlgo = true;
        }

        if (i % 5 == 0) {
            cout << (escribioAlgo ? " y multiplo de 5" : "multiplo de 5");
            escribioAlgo = true;
        }

        if (!escribioAlgo) {
            cout << "------";
        }

        cout << endl;
    }

    return 0;
}

La variable escribioAlgo es solo para decidir si hace falta el « y » antes del segundo texto (por ejemplo en el 3, que es impar y múltiplo de 3 a la vez) o si hay que mostrar el «------» cuando el número no es impar ni múltiplo de nada de eso, como el 2, el 4, el 6, el 8 o el 10.

Prueba a cambiar los números 3 y 5 por otros para ver cómo cambia la salida, es una buena forma de comprobar que entiendes bien lo que hace cada if.

Un saludo,
Antonia G.