Here, we will see how to solve Count the Digits That Divide a Number Solution of leet code 2520 problem.
You are given an integer num. You have to return the number of digits in num
that divide num
.
An integer val
divides nums
if nums % val == 0
.
Example 1:
Input: num = 9 Output: 1 Explanation: 9 divides itself, hence the answer is 1.
Example 2:
Input: num = 131 Output: 2 Explanation: 131 is divisible by 1, but not 3. Since 1 occurs twice as a digit, we return 2.
Example 3:
Input: n = 1248 Output: 4 Explanation: 1248 is divisible by all of its digits, hence the answer is 4.
Approach:
- In a loop, get each digit of number
- Check each digit divides the number if
nums % val == 0
. - If digit divides the number, increment the counter variable by 1
Count the Digits That Divide a Number Solution in C++ and Go lang:
Here, we will be solving problem in multiple ways with code.
C++ code 1:
class Solution {
public:
int countDigits(int num) {
int tmp = num, count = 0;
while (tmp) {
int rem = tmp % 10;
if ((num % rem) == 0) {
count++;
}
tmp = tmp / 10;
}
return count;
}
};
Go code 1:
func countDigits(num int) int {
tmp := num
var count = 0
for tmp != 0 {
rem := tmp % 10
if (num % rem) == 0 {
count++
}
tmp = tmp / 10
}
return count
}
Output:
Input: n = 1248 Output: 4
Time complexity: O(n)
Space complexity: O(1)
To check more leetcode problem’s solution. Pls click given below link:
https://techieindoor.com/category/leetcode/
https://techieindoor.com/category/leetcode/