Given a number n, find whether all digits of n divide it or not.
Examples:
Input : 128 Output : Yes 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0. Input : 130 Output : No
We want to test whether each digit is non-zero and divides the number. For example, with 128, we want to test d != 0 && 128 % d == 0 for d = 1, 2, 8. To do that, we need to iterate over each digit of the number.
Java
// Java program to check whether // number is divisible by all its digits. import java.io.*;
class GFG {
// Function to check the divisibility
// of the number by its digit.
static boolean checkDivisibility( int n, int digit)
{
// If the digit divides the number
// then return true else return false.
return (digit != 0 && n % digit == 0 );
}
// Function to check if all
// digits of n divide it or not,
static boolean allDigitsDivide( int n)
{
int temp = n;
while (temp > 0 ) {
// Taking the digit of the
// number into var 'digit'.
int digit = n % 10 ;
if ((checkDivisibility(n, digit)) == false )
return false ;
temp /= 10 ;
}
return true ;
}
// Driver function
public static void main(String args[])
{
int n = 128 ;
// function call to check
// digits divisibility
if (allDigitsDivide(n))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
} /*This code is contributed by Nikita Tiwari.*/ |
Output:
Yes
Time Complexity: O(log10n), where n represents the given integer.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
Please refer complete article on Check if all digits of a number divide it for more details!
Article Tags :
Recommended Articles