To check if a number is self-divisor in Java, you can use the following approach:
public static boolean isSelfDivisor(int n) { int temp = n; while (temp > 0) { int digit = temp % 10; if (digit == 0 || n % digit != 0) { return false; } temp /= 10; } return true; }
This function uses a loop to extract each digit of the number n
, and checks if the number is divisible by each digit. If any of the digits is 0 or if the number is not divisible by any of the digits, it returns false
because n
is not a self-divisor. If all of the digits are non-zero and the number is divisible by all of the digits, it returns true
because n
is a self-divisor.
Here is an example of how to use this function:
System.out.println(isSelfDivisor(128)); // Outputs true System.out.println(isSelfDivisor(212)); // Outputs true System.out.println(isSelfDivisor(222)); // Outputs true System.out.println(isSelfDivisor(257)); // Outputs false System.out.println(isSelfDivisor(291)); // Outputs false
In this example, the function isSelfDivisor()
is called with the numbers 128, 212, 222, 257, and 291 as arguments. It returns true
for the self-divisor numbers 128, 212, and 222, and false
for the non-self-divisor numbers 257 and 291.
For more information on self-divisor numbers and algorithms for checking if a number is self-divisor, you can refer to online resources or textbooks on mathematics or computer science.