Check if all digits of a number divide it (original) (raw)
Last Updated : 1 Aug, 2022
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 `
// 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 = temp % 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; }
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 = temp % 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./
Python3
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 = temp % 10
if ((checkDivisibility(n, digit)) == False) :
return False
temp = temp // 10
return TrueDriver function
n = 128
if (allDigitsDivide(n)) : print("Yes") else : print("No" )
This code is contributed by Nikita Tiwari.
C#
// 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 = temp % 10;
if ((checkDivisibility(n, digit)) == false)
return false;
temp /= 10;
}
return true;
}
// Driver function
public static void Main()
{
int n = 128;
// function call to check
// digits divisibility
if (allDigitsDivide(n))
Console.WriteLine("Yes");
else
Console.WriteLine("No");
}}
/This code is contributed by vt_m./
PHP
JavaScript
`
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.
Alternate Implementation in Python
C++ `
// C++ 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 and n % digit == 0); }
// Function to check if // all digits of n divide // it or not bool allDigitsDivide(int n) { // creating a set of integers // representing the digits of n set nlist;
// building the set
for (char c : to_string(n))
nlist.insert(c - '0');
// checking if all the digits divide
// n evenly
for (int digit : nlist) {
if (!checkDivisibility(n, digit))
return false;
}
return true;}
// Driver function int main() { int n = 128; cout << (allDigitsDivide(n) ? "Yes" : "No"); }
// This code is contributed by phasing17
Java
// Java program to // check the number is // divisible by all // digits are not. import java.util.*;
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) { HashSet nlist = new HashSet();
String nstr = String.valueOf(n);
for (int i = 0; i < nstr.length(); i++) {
nlist.add(nstr.charAt(i));
}
for (char digit : nlist) {
int digitVal = digit - '0';
if (!checkDivisibility(n, digitVal))
return false;
}
return true;}
// Driver function public static void main(String[] args) { int n = 128;
if (allDigitsDivide(n))
System.out.println("Yes");
else
System.out.println("No");} }
// The code is contributed by phasing17
Python3
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) : nlist = map(int, set(str(n))) for digit in nlist : if not (checkDivisibility(n, digit)) : return False return True
Driver function
n = 128
print("Yes" if (allDigitsDivide(n)) else "No")
C#
// C# program to // check the number is // divisible by all // digits are not. using System; using System.Linq; using System.Collections.Generic;
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)
{
HashSet<char> nlist = new HashSet<char>(
Convert.ToString(n).ToCharArray());
foreach(var digit in nlist)
{
if (checkDivisibility(n,
Convert.ToInt32(digit)))
return false;
}
return true;
}
// Driver function
public static void Main(string[] args)
{
int n = 128;
if (allDigitsDivide(n))
Console.Write("Yes");
else
Console.Write("No");
}}
// The code is contributed by phasing17
JavaScript
// JavaScript 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){
let nlist = new Set(n.toString());
nlist.forEach(digit => {
if(checkDivisibility(n, digit)){
return false;
}
});
return true; }
// Driver function let n = 128;
console.log((allDigitsDivide(n)) ? "Yes" : "No");
// The code is contributed by Nidhi goel
`
Time Complexity: O(n), where n represents the given integer.
Auxiliary Space: O(n), where n represents the given integer.