C++ Program to Check if all digits of a number divide it
Last Updated :
12 Jun, 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.
C++
#include <bits/stdc++.h>
using namespace std;
bool checkDivisibility( int n, int digit)
{
return (digit != 0 && n % digit == 0);
}
bool allDigitsDivide( int n)
{
int temp = n;
while (temp > 0) {
int digit = n % 10;
if (!(checkDivisibility(n, digit)))
return false ;
temp /= 10;
}
return true ;
}
int main()
{
int n = 128;
if (allDigitsDivide(n))
cout << "Yes" ;
else
cout << "No" ;
return 0;
}
|
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!
Share your thoughts in the comments
Please Login to comment...