Related Articles
Count numbers in range L-R that are divisible by all of its non-zero digits
• Last Updated : 12 Apr, 2021

Given a range l – r (inclusive), count the numbers that are divisible by all of its non-zero digits.
Examples:

```Input : 1 9
Output : 9
Explanation:
all the numbers are divisible by
their digits in the range 1-9.

Input : 10 20
Output : 5
Explanation:
10, 11, 12, 15, 20 ```

Approach:
1. Run a loop to generate every number from l and r.
2. Check if every non-zero digit of that number divides the number or not.
3. Keep a count of all numbers that are completely divisible by its digits.
4. Print the count of numbers.
Below is the implementation of the above approach:

## C++

 `// C++ program to``// Count numbers in``// range L-R that are``// divisible by``// all of its non-zero``// digits``#include ``using` `namespace` `std;` `// check if the number is``// divisible by the digits.``bool` `check(``int` `n)``{``    ``int` `m = n;``    ``while` `(n) {``        ``int` `r = n % 10;``        ``if` `(r > 0)``            ``if` `((m % r) != 0)``                ``return` `false``;       ``        ``n /= 10;``    ``}` `    ``return` `true``;``}` `// function to calculate the``// number of numbers``int` `count(``int` `l, ``int` `r)``{``    ``int` `ans = 0;``    ``for` `(``int` `i = l; i <= r; i++)``        ``if` `(check(i))``            ``ans += 1;   ``    ``return` `ans;``}` `// Driver function``int` `main()``{``    ``int` `l = 10, r = 20;``    ``cout << count(l, r);``    ``return` `0;``}`

## Java

 `// Java program to Count``// numbers in range L-R``// that are divisible by``// all of its non-zero``// digits``import` `java.io.*;` `class` `GFG {` `    ``// check if the number``    ``// is divisible by the``    ``// digits.``    ``static` `boolean` `check(``int` `n)``    ``{``        ``int` `m = n;``    ` `        ``while` `(n != ``0``)``        ``{``            ``int` `r = n % ``10``;``        ` `            ``if` `(r > ``0``)``                ``if` `((m % r) != ``0``)``                    ``return` `false``;    ``        ` `            ``n /= ``10``;``        ``}``    ` `        ``return` `true``;``    ``}``    ` `    ``// function to calculate``    ``// the number of numbers``    ``static` `int` `count(``int` `l, ``int` `r)``    ``{``        ``int` `ans = ``0``;``        ` `        ``for` `(``int` `i = l; i <= r; i++)``            ``if` `(check(i))``                ``ans += ``1``;``        ``return` `ans;``    ``}``    ` `    ``// Driver function``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `l = ``10``, r = ``20``;``        ` `        ``System.out.println(count(``10``, ``20``));``    ``}``}` `// This code is contributed by Nikita Tiwari.`

## Python3

 `# Python 3 program``# to Count numbers in``# range L-R that are``# divisible by all of``# its non-zero digits`  `# check if the number is``# divisible by the digits.``def` `check(n) :``    ``m ``=` `n``    ``while` `(n !``=` `0``) :``        ``r ``=` `n ``%` `10``        ``if` `(r > ``0``) :``            ``if` `((m ``%` `r) !``=` `0``) :``                ``return` `False`   `        ``n ``=` `n ``/``/` `10``    ` `    ``return` `True``    `  `# function to calculate the``# number of numbers``def` `count(l, r) :``    ``ans ``=` `0``    ``for` `i ``in` `range``(l, r``+``1``) :``        ``if` `(check(i)) :``            ``ans ``=` `ans ``+` `1``    ``return` `ans` `# Driver function``l ``=` `10``r ``=` `20``print``(count(l, r))` `# This code is contributed by Nikita Tiwari.`

## C#

 `// Java program to Count``// numbers in range L-R``// that are divisible by``// all of its non-zero``// digits``using` `System;` `class` `GFG {` `    ``// check if the number``    ``// is divisible by the``    ``// digits.``    ``static` `bool` `check(``int` `n)``    ``{``        ``int` `m = n;``    ` `        ``while` `(n != 0)``        ``{``            ``int` `r = n % 10;``        ` `            ``if` `(r > 0)``                ``if` `((m % r) != 0)``                    ``return` `false``;``        ` `            ``n /= 10;``        ``}``    ` `        ``return` `true``;``    ``}``    ` `    ``// function to calculate``    ``// the number of numbers``    ``static` `int` `count(``int` `l, ``int` `r)``    ``{``        ``int` `ans = 0;``        ` `        ``for` `(``int` `i = l; i <= r; i++)``            ``if` `(check(i))``                ``ans += 1;``        ``return` `ans;``    ``}``    ` `    ``// Driver function``    ``public` `static` `void` `Main()``    ``{``        ``int` `l = 10, r = 20;``        ` `        ``Console.WriteLine(count(l, r));``    ``}``}` `// This code is contributed by Vt_m.`

## PHP

 ` 0)``            ``if` `((``\$m` `% ``\$r``) != 0)``                ``return` `false;    ``        ``\$n` `/= 10;``    ``}` `    ``return` `true;``}` `// function to calculate the``// number of numbers``function` `countIn(``\$l``, ``\$r``)``{``    ``\$ans` `= 0;``    ``for` `(``\$i` `= ``\$l``; ``\$i` `<= ``\$r``; ``\$i``++)``        ``if` `(check(``\$i``))``            ``\$ans` `+= 1;``            ` `    ``return` `\$ans``;` `}` `// Driver function``\$l` `= 10; ``\$r` `= 20;``echo` `countIn(``\$l``, ``\$r``);` `// This code is contributed ajit``?>`

## Javascript

 ``

Output:

`5`

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up