Resumen: mostrar cómo usar el operador módulo en C (%
) y la sentencia if
para saber si un número es múltiplo de otro.
Número múltiplo de otro en C
Se dice que un número es múltiplo de otro (sin entrar en detalles de matemáticos) cuando se puede dividir de manera entera sin que haya residuo.
- Por ejemplo, el 10 es múltiplo de 2 porque al dividir 10 entre 2 el resultado es 5 y el residuo 0.
- En cambio, 10 no es múltiplo de 3 porque al dividir 10 entre 3 el resultado es 3 y el residuo 1.
Basándonos en esto podemos usar el operador módulo que devuelve el residuo, y encerrar el comportamiento en una función.
Función de múltiplo en C
Veamos la función:
int esMultiplo(int numero, int multiplo) {
if (numero % multiplo == 0) {
return 1;
} else {
return 0;
}
// También se podría hacer un:
// return numero % multiplo == 0
}
Hacemos la comparación; si el residuo es 0, regresamos 1 (algo como true
). Si no, regresamos 0. Es decir, es una función que devuelve un booleano.
Recibe como argumento el número y en segundo lugar el múltiplo. Un ejemplo de uso es el siguiente:
int main(void) {
int numero = 10, posibleMultiplo = 2;
// Comprobar
int resultado = esMultiplo(numero, posibleMultiplo);
if (resultado) {
printf("%d es multiplo de %d", numero, posibleMultiplo);
} else {
printf("%d NO es multiplo de %d", numero, posibleMultiplo);
}
}
Recuerda que podrías leer los valores con scanf, aquí solo pongo un ejemplo.