En este post sobre Python te mostraré cómo saber si un número es múltiplo de otro número. También te voy a mostrar a imprimir todos los submúltiplos (también conocidos como divisores) de determinado número.

Resumiendo: veremos un programa en Python que nos dirá si un número es múltiplo de otro, y a su vez va a ofrecer la posibilidad de imprimir todos los submúltiplos (positivos) de un número.

¿Qué es un múltiplo?

No soy matemático, así que te daré mi definición. Un número es múltiplo de otro cuando segundo número cabe en el primero N cantidad de veces de manera exacta.

Por ejemplo, el 2 es múltiplo de 10  pues 2 cabe 5 veces exactas en el 10. Por el contrario, el número 3 no es múltiplo de 10, pues cabe 3.33 veces. Lo que buscamos aquí es que al dividir el número entre el otro, el residuo sea cero.

Para sacar el residuo de una división en Python usamos el operador módulo %.

Saber si número es múltiplo de otro en Python

Basta de charlas. Vamos a lo que vinimos. Voy a codificar una función que indica lo que estamos buscando. La misma va a recibir el número y el múltiplo; nos va a devolver un booleano.

def es_multiplo(numero, multiplo):
    # Si el residuo es 0, es múltiplo
    if numero % multiplo == 0:
        return True
    else:
        return False

Y la misma puede ser simplificada a:

def es_multiplo(numero, multiplo):
    return numero % multiplo == 0

Por poner un ejemplo de uso, para saber si 9 es múltiplo de 3, la invocamos así:

# https://parzibyte.me/blog/

def es_multiplo(numero, multiplo):
    return numero % multiplo == 0

if es_multiplo(9, 3):
    print("Sí es múltiplo")
else:
    print("No es múltiplo")

Es momento de reutilizar esta función para el otro apartado que mencioné al inicio.

Imprimir submúltiplos de un número en Python

Para imprimir todos los submúltiplos o divisores de un número en Python, lo que hacemos es hacer un ciclo desde 1 hasta el número, y por cada valor del ciclo, probar si el mismo es múltiplo. En caso de que lo sea, lo imprimimos. También he encerrado el comportamiento en una función:

# https://parzibyte.me/blog/

def imprimir_submultiplos(numero):
    for i in range(1, numero+1):
        if es_multiplo(numero, i):
            print(f"{i},", end=""

Lo único que se le tiene que enviar es el número, y la función se va a encargar de imprimir todos los divisores de ese número. Para usar la función podemos hacer lo siguiente:

numero = 1024
print(f"Ahora voy a imprimir todos los submúltiplos de {numero}")
imprimir_submultiplos(numero)

Recuerda que este número podría proporcionarlo el usuario o venir de cualquier lugar.

Poniendo todo junto

Python - múltiplo y submúltiplo de un número

El código completo me quedó como se ve a continuación. Siéntete libre de modificarlo:

"""
https://parzibyte.me/blog/
"""

def es_multiplo(numero, multiplo):
    return numero % multiplo == 0

def imprimir_submultiplos(numero):
    for i in range(1, numero+1):
        if es_multiplo(numero, i):
            print(f"{i},", end="")

if es_multiplo(9, 3):
    print("Sí es múltiplo")
else:
    print("No es múltiplo")

numero = 1024
print(f"Ahora voy a imprimir todos los submúltiplos de {numero}")
imprimir_submultiplos(numero)

Si quieres puedes ver más tutoriales de Python en este otro.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto