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 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 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.*/ |
# 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 True
# Driver function n = 128
if (allDigitsDivide(n)) :
print ( "Yes" )
else :
print ( "No" )
# This code is contributed by Nikita Tiwari. |
// 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 //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 = $temp % 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. ?> |
<script> // 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 temp = n;
while (temp > 0)
{
// Taking the digit of the
// number into digit var.
let digit = temp % 10;
if (!(checkDivisibility(n, digit)))
return false ;
temp = parseInt(temp / 10, 10);
}
return true ;
}
let n = 128;
if (allDigitsDivide(n))
document.write( "Yes" );
else
document.write( "No" );
// This code is contributed by divyeshrabadiya07.
</script> |
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++ 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< int > 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 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<Character> nlist = new HashSet<Character>();
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 |
# 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# 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 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 |
Yes
Time Complexity: O(n), where n represents the given integer.
Auxiliary Space: O(n), where n represents the given integer.