# Find the Number which contain the digit d

• Difficulty Level : Medium
• Last Updated : 08 Aug, 2022

Given two integer number n and d. The task is to find the number between 0 to n which contain the specific digit d.

Examples:

```Input : n = 20
d = 5
Output : 5 15

Input : n = 50
d = 2
Output : 2 12 20 21 22 23 24 25 26 27 28 29 32 42 ```

Approach 1:  Take a loop from 0 to n and check each number one by one, if the number contains digit d then print it otherwise increase the number. Continue this process until loop ended.

Implementation:

## C++

 `// C++ program to print the number which` `// contain the digit d from 0 to n` `#include ` `using` `namespace` `std;`   `// Returns true if d is present as digit` `// in number x.` `bool` `isDigitPresent(``int` `x, ``int` `d)` `{` `    ``// Break loop if d is present as digit` `    ``while` `(x > 0)` `    ``{` `        ``if` `(x % 10 == d)` `            ``break``;`   `        ``x = x / 10;` `    ``}`   `    ``// If loop broke` `    ``return` `(x > 0);` `}`   `// function to display the values` `void` `printNumbers(``int` `n, ``int` `d)` `{` `    ``// Check all numbers one by one` `    ``for` `(``int` `i = 0; i <= n; i++)`   `        ``// checking for digit` `        ``if` `(i == d || isDigitPresent(i, d))` `            ``cout << i << ``" "``;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `n = 47, d = 7;` `    ``printNumbers(n, d);` `    ``return` `0;` `}`

## Java

 `// Java program to print the number which` `// contain the digit d from 0 to n`   `class` `GFG` `{` `    ``// Returns true if d is present as digit` `    ``// in number x.` `    ``static` `boolean` `isDigitPresent(``int` `x, ``int` `d)` `    ``{` `        ``// Break loop if d is present as digit` `        ``while` `(x > ``0``)` `        ``{` `            ``if` `(x % ``10` `== d)` `                ``break``;`   `            ``x = x / ``10``;` `        ``}`   `        ``// If loop broke` `        ``return` `(x > ``0``);` `    ``}`   `    ``// function to display the values` `    ``static` `void` `printNumbers(``int` `n, ``int` `d)` `    ``{` `        ``// Check all numbers one by one` `        ``for` `(``int` `i = ``0``; i <= n; i++)`   `            ``// checking for digit` `            ``if` `(i == d || isDigitPresent(i, d))` `                ``System.out.print(i + ``" "``);` `    ``}`     `    ``// Driver code` `    ``public` `static` `void` `main(String[] args)` `    ``{` `        ``int` `n = ``47``, d = ``7``;` `        ``printNumbers(n, d);` `    ``}` `}`

## Python3

 `# Python3 program to print the number which` `# contain the digit d from 0 to n`   `# Returns true if d is present as digit` `# in number x.` `def` `isDigitPresent(x, d):`   `    ``# Break loop if d is present as digit` `    ``while` `(x > ``0``):` `    `  `        ``if` `(x ``%` `10` `=``=` `d):` `            ``break`   `        ``x ``=` `x ``/` `10` `    `    `    ``# If loop broke` `    ``return` `(x > ``0``)`     `# function to display the values` `def` `printNumbers(n, d):`   `    ``# Check all numbers one by one` `    ``for` `i ``in` `range``(``0``, n``+``1``):`   `        ``# checking for digit` `        ``if` `(i ``=``=` `d ``or` `isDigitPresent(i, d)):` `            ``print``(i,end``=``" "``)`   `# Driver code` `n ``=` `47` `d ``=` `7` `print``(``"The number of values are"``)` `printNumbers(n, d)` `#This code is contributed by` `#Smitha Dinesh Semwal`

## C#

 `// C# program to print the number which` `// contain the digit d from 0 to n` `using` `System; `   `class` `GFG {` `    `  `    ``// Returns true if d is present as digit` `    ``// in number x.` `    ``static` `bool` `isDigitPresent(``int` `x, ``int` `d)` `    ``{` `        `  `        ``// Break loop if d is present as digit` `        ``while` `(x > 0)` `        ``{` `            ``if` `(x % 10 == d)` `                ``break``;`   `            ``x = x / 10;` `        ``}`   `        ``// If loop broke` `        ``return` `(x > 0);` `    ``}`   `    ``// function to display the values` `    ``static` `void` `printNumbers(``int` `n, ``int` `d)` `    ``{` `        `  `        ``// Check all numbers one by one` `        ``for` `(``int` `i = 0; i <= n; i++)`   `            ``// checking for digit` `            ``if` `(i == d || isDigitPresent(i, d))` `                ``Console.Write(i + ``" "``);` `    ``}`     `    ``// Driver code` `    ``public` `static` `void` `Main()` `    ``{` `        ``int` `n = 47, d = 7;` `        `  `        ``printNumbers(n, d);` `    ``}` `}`   `// This code contribute by parashar.`

## PHP

 ` 0)` `    ``{` `        ``if` `(``\$x` `% 10 == ``\$d``)` `            ``break``;`   `        ``\$x` `= ``\$x` `/ 10;` `    ``}`   `    ``// If loop broke` `    ``return` `(``\$x` `> 0);` `}`   `// function to display the values` `function` `printNumbers(``\$n``, ``\$d``)` `{` `    `  `    ``// Check all numbers one by one` `    ``for` `(``\$i` `= 0; ``\$i` `<= ``\$n``; ``\$i``++)`   `        ``// checking for digit` `        ``if` `(``\$i` `== ``\$d` `|| isDigitPresent(``\$i``, ``\$d``))` `            ``echo` `\$i` `, ``" "``;` `}`   `    ``// Driver Code` `    ``\$n` `= 47; ` `    ``\$d` `= 7;` `    ``printNumbers(``\$n``, ``\$d``);` `    `  `// This code contributed by ajit.` `?>`

## Javascript

 ``

Output:

```The number of values are
7 17 27 37 47```

Time Complexity: O(nlogn)
Auxiliary Space: O(n)

Approach 2: This approach uses every number as a String and checks digit is present or not. This approach use of String.indexOf() function to check if the character is present in the string or not.
String.indexOf() >= 0 means character is present and String.indexOf() = -1 means character is not present

Implementation:

## C++

 `// CPP program to print the number which ` `// contain the digit d from 0 to n` `#include` `using` `namespace` `std;`   `// function to display the values` `void` `printNumbers(``int` `n, ``int` `d)` `{` `        `  `    ``// Converting d to character` `    ``string st = ``""``;` `    ``st += to_string(d);` `    ``char` `ch = st[0];` `        `  `    ``string p = ``""``;` `    ``p += ch;` `        `  `    ``// Loop to check each digit one by one.` `    ``for` `(``int` `i = 0; i <= n; i++)` `    ``{` `            `  `        ``// initialize the string` `        ``st = ``""``;` `        ``st = st + to_string(i);` `        ``int` `idx = st.find(p);` `            `  `        ``// checking for digit` `        ``if` `(i == d || idx!=-1)         ` `            ``cout << (i) << ``" "``;` `    ``}` `}`   `// Driver code` `int` `main()` `{` `    ``int` `n = 100, d = 5;` `    ``printNumbers(n, d);` `}` `    `  `// This code is contributed by` `// Surendra_Gangwar`

## Java

 `// Java program to print the number which ` `// contain the digit d from 0 to n`   `public` `class` `GFG {`   `    ``// function to display the values` `    ``static` `void` `printNumbers(``int` `n, ``int` `d)` `    ``{` `        `  `        ``// Converting d to character` `        ``String st = ``""` `+ d;` `        ``char` `ch = st.charAt(``0``);` `        `  `        ``// Loop to check each digit one by one.` `        ``for` `(``int` `i = ``0``; i <= n; i++) {` `            `  `            ``// initialize the string` `            ``st = ``""``;` `            ``st = st + i;`   `            ``// checking for digit` `            ``if` `(i == d || st.indexOf(ch) >= ``0``)                ` `                ``System.out.print(i + ``" "``);` `        ``}` `    ``}`   `    ``// Driver code` `    ``public` `static` `void` `main(String[] args)` `    ``{` `        ``int` `n = ``100``, d = ``5``;` `        ``printNumbers(n, d);` `    ``}` `}`

## Python3

 `# Python 3 program to print the number ` `# which contain the digit d from 0 to n`   `def` `index(st, ch):` `    ``for` `i ``in` `range``(``len``(st)):` `        ``if``(st[i] ``=``=` `ch):` `            ``return` `i;` `    ``return` `-``1` `    `  `# function to display the values` `def` `printNumbers(n, d):` `    `  `# Converting d to character` `    ``st ``=` `"" ``+` `str``(d)` `    ``ch ``=` `st[``0``]`   `    ``# Loop to check each digit one by one.` `    ``for` `i ``in` `range``(``0``, n ``+` `1``, ``1``):` `        `  `        ``# initialize the string` `        ``st ``=` `""` `        ``st ``=` `st ``+` `str``(i)` `        `  `        ``# checking for digit` `        ``if` `(i ``=``=` `d ``or` `index(st, ch) >``=` `0``):` `            ``print``(i, end ``=` `" "``)`   `# Driver code` `if` `__name__ ``=``=` `'__main__'``:` `    ``n ``=` `100` `    ``d ``=` `5` `    ``printNumbers(n, d)`   `# This code is contributed by` `# Shashank_Sharma`

## C#

 `// C# program to print the number which ` `// contain the digit d from 0 to n ` `using` `System;`   `class` `GFG ` `{ `   `    ``// function to display the values ` `    ``static` `void` `printNumbers(``int` `n, ``int` `d) ` `    ``{ ` `        `  `        ``// Converting d to character ` `        ``String st = ``""` `+ d; ` `        ``char` `ch = st[0]; ` `        `  `        ``// Loop to check each digit one by one. ` `        ``for` `(``int` `i = 0; i < n; i++) ` `        ``{ ` `            `  `            ``// initialize the string ` `            ``st = ``""``; ` `            ``st = st + i; `   `            ``// checking for digit ` `            ``if` `(i == d || st.IndexOf(ch) >= 0)             ` `                ``Console.Write(i + ``" "``); ` `        ``} ` `    ``} `   `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 100, d = 5; ` `        ``printNumbers(n, d); ` `    ``} ` `} `   `/* This code contributed by PrinciRaj1992 */`

## Javascript

 ``

Output:

`5 15 25 35 45 50 51 52 53 54 55 56 57 58 59 65 75 85 95`

Time Complexity : O(n)
Space Complexity : O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :