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.
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 %
.
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.
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.
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.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.