Я предполагаю, что вы хотите выяснить, имеет ли Y = kX целочисленные значения k для заданного X, так что Y = 5, X = 3 терпит неудачу (k равно 5/3), но Y = 6, X= 2 прохода (k точно 3).Вы счастливы, что k является либо положительным, либо отрицательным.
Таким образом, использование остатка Y X == 0 является хорошим тестом.Кроме того, будьте осторожны с отрицательными остатками (например, Y% 2 == 1, поскольку проверка на нечетность не выполняется для отрицательных чисел, для уверенности используйте Y% 2! = 0)
Пример кода в Java
public class Example {
public static void main(String[] args) {
System.out.println(isIntegerFactor(5,3)); // k is not an integer
System.out.println(isIntegerFactor(6,3)); // k is 2
System.out.println(isIntegerFactor(-6,-3)); // k is 2
System.out.println(isIntegerFactor(-6,3)); // k is -2
System.out.println(isIntegerFactor(6,-3)); // k is -2
}
public static boolean isIntegerFactor(int y, int x) {
return (y % x) == 0;
}
}