Skip to content
Related Articles
Find nth number that contains the digit k or divisible by k.
• Difficulty Level : Basic
• Last Updated : 07 Apr, 2021

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.```

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

 ``

## Javascript

 ``

Output:

` 20 `

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up