# Find nth number that contains the digit k or divisible by k.

You have given two number n and k. You need to find the n-th number that contains the digit k or divisible by k (2 <= k <=9 ).

Examples:

```Input       : n = 15, k = 3
Output      : 33
Explanation  : ( 3, 6, 9, 12, 13, 15, 18, 21, 23, 24,
27, 30, 31, 33 ). These are those number who contain
the digit k = 3 or divisible by k and in this nth number
is 33. so output is 33.

Input       : n = 10, k = 2
Output      : 20
Explanation : ( 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 )
These are those number who contain the digit k = 2 or
divisible by k and in this nth number is 20. so output
is 20.
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

Check every number from k who contains the digit k or divisible by k until we did not get nth number.

## C++

 `// C++ program to find nth number that contains  ` `// the digit k or divisible by k. ` `#include ` `using` `namespace` `std; ` ` `  `// Function for checking if digit k  ` `// is in n or not ` `int` `checkdigit(``int` `n, ``int` `k) ` `{ ` `    ``while` `(n) ` `    ``{ ` `        ``// finding remainder ` `        ``int` `rem = n % 10; ` ` `  `        ``// if digit found ` `        ``if` `(rem == k) ` `            ``return` `1; ` ` `  `        ``n = n / 10; ` `    ``} ` ` `  `    ``return` `0; ` `} ` ` `  `// Function for finding nth number ` `int` `findNthNumber(``int` `n, ``int` `k) ` `{  ` `    ``// since k is the first which satisfy the ` `    ``// criteria, so consider it in count making count = 1 ` `    ``//  and starting from i = k + 1 ` `    ``for` `(``int` `i = k + 1, count = 1; count < n; i++) ` `    ``{ ` `        ``// checking that the number contain ` `        ``// k digit or divisible by k ` `        ``if` `(checkdigit(i, k) || (i % k == 0)) ` `            ``count++; ` ` `  `        ``if` `(count == n) ` `        ``return` `i; ` `    ``} ` ` `  `    ``return` `-1; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 10, k = 2; ` `    ``cout << findNthNumber(n, k) << endl; ` `    ``return` `0; ` `} `

## Java

 `// Java program to find nth number that contains  ` `// the digit k or divisible by k. ` `import` `java.io.*; ` ` `  `class` `GFG  ` `{ ` `    ``// Function for checking if digit k  ` `    ``// is in n or not ` `    ``public` `static` `boolean` `checkdigit(``int` `n, ``int` `k) ` `    ``{ ` `        ``while` `(n != ``0``) ` `        ``{ ` `            ``// finding remainder ` `            ``int` `rem = n % ``10``; ` `     `  `            ``// if digit found ` `            ``if` `(rem == k) ` `                ``return` `true``; ` `     `  `            ``n = n / ``10``; ` `        ``} ` ` `  `        ``return` `false``; ` `    ``} ` ` `  `    ``// Function for finding nth number ` `    ``public` `static` `int` `findNthNumber(``int` `n, ``int` `k) ` `    ``{  ` `        ``// since k is the first which satisfy th  ` `    ``// criteria, so consider it in count making count = 1 ` `    ``//  and starting from i = k + 1 ` `        ``for` `(``int` `i = k + ``1``, count = ``1``; count < n; i++) ` `        ``{ ` `        ``// checking that the number contain ` `        ``// k digit or divisible by k ` `        ``if` `(checkdigit(i, k) || (i % k == ``0``)) ` `            ``count++; ` ` `  `        ``if` `(count == n) ` `        ``return` `i; ` `        ``} ` ` `  `    ``return` `-``1``; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args)  ` `    ``{ ` `        ``int` `n = ``10``, k = ``2``;  ` `        ``System.out.println(findNthNumber(n, k));  ` `         `  `    ``} ` `} ` ` `  `// This code is contributed ` `// by  UPENDRA BARTWAL `

## Python3

 `# Python 3 program to find nth number that  ` `# contains the digit k or divisible by k. ` ` `  `# Function for checking if  ` `# digit k is in n or not ` `def` `checkdigit(n, k): ` ` `  `    ``while` `(n): ` `     `  `        ``# finding remainder ` `        ``rem ``=` `n ``%` `10` ` `  `        ``# if digit found ` `        ``if` `(rem ``=``=` `k): ` `            ``return` `1` ` `  `        ``n ``=` `n ``/` `10` `     `  `    ``return` `0` ` `  `# Function for finding nth number ` `def` `findNthNumber(n, k): ` `     `  `    ``i ``=` `k ``+` `1` `    ``count ``=` `1` `    ``while``(count < n): ` `         `  `        ``# checking that the number contain ` `        ``# k digit or divisible by k ` `        ``if` `(checkdigit(i, k) ``or` `(i ``%` `k ``=``=` `0``)): ` `            ``count ``+``=` `1` `         `  `        ``if` `(count ``=``=` `n): ` `            ``return` `i ` `        ``i ``+``=` `1` `    ``return` `-``1` ` `  `# Driver code ` `n ``=` `10` `k ``=` `2` `print``(findNthNumber(n, k)) ` ` `  `# This code is contributed ` `# by Smitha Dinesh Semwal `

## C#

 `// C# program to find nth number that contains  ` `// the digit k or divisible by k. ` `using` `System; ` ` `  `class` `GFG  ` `{ ` `     `  `    ``// Function for checking if digit k  ` `    ``// is in n or not ` `    ``public` `static` `bool` `checkdigit(``int` `n, ``int` `k) ` `    ``{ ` `        ``while` `(n != 0) ` `        ``{ ` `             `  `            ``// finding remainder ` `            ``int` `rem = n % 10; ` `     `  `            ``// if digit found ` `            ``if` `(rem == k) ` `                ``return` `true``; ` `     `  `            ``n = n / 10; ` `        ``} ` ` `  `        ``return` `false``; ` `    ``} ` ` `  `    ``// Function for finding nth number ` `    ``public` `static` `int` `findNthNumber(``int` `n, ``int` `k) ` `    ``{  ` `        ``for` `(``int` `i = k + 1, count = 1; count < n; i++) ` `        ``{ ` `             `  `            ``// checking that the number contain ` `            ``// k digit or divisible by k ` `            ``if` `(checkdigit(i, k) || (i % k == 0)) ` `                ``count++; ` `     `  `            ``if` `(count == n) ` `                ``return` `i; ` `        ``} ` ` `  `    ``return` `-1; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main ()  ` `    ``{ ` `        ``int` `n = 10, k = 2;  ` `         `  `        ``Console.WriteLine(findNthNumber(n, k));  ` `         `  `    ``} ` `} ` ` `  `// This code is contributed by vt_m. `

## PHP

 ` `

Output:

` 20 `

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : inderDuMCA

Article Tags :
Practice Tags :

1

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.