Menu Close

Leetcode 2520: Count the Digits That Divide a Number Solution

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/

Posted in C++, Easy, golang, golang program, Leetcode

Leave a Reply

Your email address will not be published. Required fields are marked *