Делители числа в Java — программа печати всех множителей
Программа выводит все делители заданного числа. Делитель — это число, на которое исходное число делится без остатка.
Пример 1: делители положительного числа
public class Main {
public static void main(String[] args) {
// положительное число
int number = 60;
System.out.print("Factors of " + number + " are: ");
// цикл от 1 до 60
for (int i = 1; i <= number; ++i) {
// если number делится на i,
// значит i — делитель
if (number % i == 0) {
System.out.print(i + " ");
}
}
}
}
Вывод:
Factors of 60 are: 1 2 3 4 5 6 10 12 15 20 30 60
В программе выше число, делители которого нужно найти, хранится в переменной number (60).
Цикл for выполняется, пока условие i <= number истинно. На каждой итерации проверяется, делится ли number на i без остатка (условие, чтобы i был делителем), и значение i увеличивается на 1.
Пример 2: делители отрицательного числа
class Main {
public static void main(String[] args) {
// отрицательное число
int number = -60;
System.out.print("Factors of " + number + " are: ");
// цикл от -60 до 60
for(int i = number; i <= Math.abs(number); ++i) {
// пропускаем итерацию при i = 0
if(i == 0) {
continue;
}
else {
if (number % i == 0) {
System.out.print(i + " ");
}
}
}
}
}
Вывод:
Factors of -60 are: -60 -30 -20 -15 -12 -10 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 10 12 15 20 30 60
В этом примере мы вычислили все делители отрицательного числа. Цикл for идёт от -60 до 60.
При i = 0 итерация пропускается. Иначе возникло бы исключение (деление на ноль).
Примечание
Метод Math.abs() возвращает абсолютное значение числа.