Check if all digits of a number divide it

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.

CPP

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to check the number
// is divisible by all digits are not.
#include <bits/stdc++.h>
using namespace std;
  
// Function to check the divisibility
// of the number by its digit.
bool 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
bool allDigitsDivide(int n)
{
    int temp = n;
    while (temp > 0) {
  
        // Taking the digit of the
        // number into digit var.
        int digit = n % 10;
        if (!(checkDivisibility(n, digit)))
            return false;
  
        temp /= 10;
    }
    return true;
}
  
// Driver function
int main()
{
    int n = 128;
    if (allDigitsDivide(n))
        cout << "Yes";
    else
        cout << "No";
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
  
        // funtion call to check
        // digits divisibility
        if (allDigitsDivide(n))
            System.out.println("Yes");
  
        else
            System.out.println("No");
    }
}
  
/*This code is contributed by Nikita Tiwari.*/

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to
# check the number is
# divisible by all 
# digits are not.
  
# Function to check 
# the divisibility 
# of the number by
# its digit.
def checkDivisibility(n, digit) :
      
    # If the digit divides the
    # number then return true
    # else return false.
    return (digit != 0 and n % digit == 0)
      
# Function to check if
# all digits of n divide
# it or not
def allDigitsDivide( n) :
      
    temp = n
    while (temp > 0) :
          
        # Taking the digit of
        # the number into digit
        # var.
        digit = n % 10
        if ((checkDivisibility(n, digit)) == False) :
            return False
  
        temp = temp // 10
      
    return True
  
# Driver function
n = 128
  
if (allDigitsDivide(n)) :
    print("Yes")
else :
    print("No" )
      
# This code is contributed by Nikita Tiwari.

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to check whether
// number is divisible by all its digits.
using System;
  
class GFG {
  
    // Function to check the divisibility
    // of the number by its digit.
    static bool 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 bool 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()
    {
        int n = 128;
  
        // funtion call to check
        // digits divisibility
        if (allDigitsDivide(n))
            Console.WriteLine("Yes");
  
        else
            Console.WriteLine("No");
    }
}
  
/*This code is contributed by vt_m.*/

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
//PHP program to check the number 
// is divisible by all digits are not.
  
// Function to check the divisibility 
// of the number by its digit.
function checkDivisibility($n, $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
function allDigitsDivide($n)
{
    $temp = $n;
    while ($temp > 0) {
  
        // Taking the digit of the
        // number into digit var.
        $digit = $n % 10;
          
        if (!(checkDivisibility($n, $digit)))
            return false;
  
        $temp /= 10;
    }
      
    return true;
}
  
// Driver function
  
    $n = 128;
    if (allDigitsDivide($n))
        echo "Yes"
    else
        echo "No";
      
// This code is contributed by ajit.
?>

chevron_right



Output:

Yes


My Personal Notes arrow_drop_up

Intern at GeeksforGeeks

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : jit_t



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.