Find the Number which contain the digit d

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.

C++


[sourcecode language=”CPP”]
// CPP program to print the number which
// contain the digit d from 0 to n
#include <bits/stdc++.h>
using namespace std;

// Returns true if d is present as digit
// in number x.
bool isDigitPresent(int x, int d)
{
// Breal 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;
}
[/sourcecode]

Java


[sourcecode language=”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)
{
// Breal 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);
}
}
[/sourcecode]

Python 3


[sourcecode language=”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):

# Breal 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
[/sourcecode]

C#


[sourcecode language=”CSHARP”]
// 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)
{

// Breal 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.
[/sourcecode]

PHP


[sourcecode language=”php”]
<?php
// PHP 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.
function isDigitPresent($x, $d)
{

// Breal 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
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.
?>

[/sourcecode]

Output:

The number of values are
7 17 27 37 47

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 chaaracter is present

and String.indexOf() = -1 means character is not present

Java


[sourcecode language=”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);
}
}
[/sourcecode]

Output:

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


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.