Как найти остаток от деления в C?

какой лучший способ узнать, вернет ли деление двух чисел остаток? Возьмем, например, массив со значениями {3,5,7,8,9,17,19}. Теперь мне нужно найти идеальный делитель 51 из приведенного выше массива. Есть ли простой способ решить эту проблему?

3 ответов


можно использовать % оператор, чтобы найти остаток деления и сравнить результат с 0.

пример:

if (number % divisor == 0)
{
    //code for perfect divisor
}
else
{
    //the number doesn't divide perfectly by divisor
}

использовать оператор модуля %, он возвращает остаток.

int a = 5;
int b = 3;

if (a % b != 0) {
   printf("The remainder is: %i", a%b);
}

все приведенные выше ответы верны. Просто предоставив свой набор данных, чтобы найти идеальный делитель:

#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;
}