Делимость
Остаток от деления отвечает на вопрос о кратности
Число a делится на b без остатка,
если a % b == 0.
Эта простая проверка лежит в основе большого количества задач:
найти кратные числа, посчитать делители, определить чётность или проверить общие свойства чисел.
int number = 42;
if (number % 7 == 0) {
System.out.println("Divisible");
}
Здесь 42 % 7 равно нулю,
поэтому число кратно семи.
Поиск делителей
Делитель числа — это значение, на которое число делится без остатка.
Самый прямой способ найти делители положительного числа — перебрать кандидатов
и проверить каждый через %.
int number = 12;
for (int divisor = 1; divisor <= number; divisor++) {
if (number % divisor == 0) {
System.out.println(divisor);
}
}
Для 12 будут найдены 1, 2,
3, 4,
6 и 12.
Пока нам важнее сама связь между перебором и проверкой делимости;
способы уменьшать количество проверок появятся позже.
Несколько условий делимости
Проверки можно комбинировать обычными логическими операторами. Например, число кратно и 3, и 5, если оба остатка равны нулю.
boolean divisibleByBoth = number % 3 == 0 && number % 5 == 0;
Важно читать такое условие буквально: каждая часть отвечает за отдельное требование,
а && означает, что должны выполняться оба.
number % 0, как и целочисленное деление на ноль,
приводит к ArithmeticException.