Quel est le meilleur moyen de savoir si la division de deux nombres retournera un reste? Prenons, par exemple, un tableau avec les valeurs {3,5,7,8,9,17,19}. Maintenant, je dois trouver le diviseur parfait de 51 de la matrice ci-dessus. Y at-il un moyen plus simple de résoudre ce problème?
Vous pouvez utiliser l'opérateur %
pour rechercher le reste d'une division et comparer le résultat avec 0
.
Exemple:
if (number % divisor == 0)
{
//code for perfect divisor
}
else
{
//the number doesn't divide perfectly by divisor
}
Utilisez l'opérateur de module %
, il renvoie le reste.
int a = 5;
int b = 3;
if (a % b != 0) {
printf("The remainder is: %i", a%b);
}
Toutes les réponses ci-dessus sont correctes. En fournissant simplement avec votre jeu de données pour trouver le diviseur parfait:
#include <stdio.h>
int main()
{
int arr[7] = {3,5,7,8,9,17,19};
int j = 51;
int i = 0;
for (i=0 ; i < 7; i++) {
if (j % arr[i] == 0)
printf("%d is the perfect divisor of %d\n", arr[i], j);
}
return 0;
}