web-dev-qa-db-fra.com

Comment trouver le reste d'une division en C?

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?

9
Vivek

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
}
18
Mircea Nistor

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);
}
5
MByD

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;
}
1
hari