Как найти остаток от деления в 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;
}