# Numbers having Unique (or Distinct) digits

Given a range, print all numbers having unique digits.

Examples :

```Input : 10 20
Output : 10 12 13 14 15 16 17 18 19 20  (Except 11)

Input : 1 10
Output : 1 2 3 4 5 6 7 8 9 10
```

## Recommended: Please solve it on “PRACTICE” first, before moving on to the solution.

```As the problem is pretty simple, the only thing to be done is :-
1- Find the digits one by one and keep marking visited digits.
2- If all digits occurs one time only then print that number.
3- Else not.
```

## C++

 `// C++ implementation to find unique digit ` `// numbers in a range ` `#include ` `using` `namespace` `std; ` ` `  `// Function to print unique digit numbers ` `// in range from l to r. ` `void` `printUnique(``int` `l, ``int` `r) ` `{ ` `    ``// Start traversing the numbers ` `    ``for` `(``int` `i=l ; i<=r ; i++) ` `    ``{ ` `        ``int` `num = i; ` `        ``bool` `visited = {``false``}; ` ` `  `        ``// Find digits and maintain its hash ` `        ``while` `(num) ` `        ``{ ` `            ``// if a digit occurs more than 1 time ` `            ``// then break ` `            ``if` `(visited[num % 10]) ` `                ``break``; ` ` `  `            ``visited[num%10] = ``true``; ` ` `  `            ``num = num/10; ` `        ``} ` ` `  `        ``// num will be 0 only when above loop ` `        ``// doesn't get break that means the ` `        ``// number is unique so print it. ` `        ``if` `(num == 0) ` `            ``cout << i << ``" "``; ` `    ``} ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `l = 1, r = 20; ` `    ``printUnique(l, r); ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to find unique digit ` `// numbers in a range ` `class` `Test ` `{ ` `    ``// Method to print unique digit numbers ` `    ``// in range from l to r. ` `    ``static` `void` `printUnique(``int` `l, ``int` `r) ` `    ``{ ` `        ``// Start traversing the numbers ` `        ``for` `(``int` `i=l ; i<=r ; i++) ` `        ``{ ` `            ``int` `num = i; ` `            ``boolean` `visited[] = ``new` `boolean``[``10``]; ` `      `  `            ``// Find digits and maintain its hash ` `            ``while` `(num != ``0``) ` `            ``{ ` `                ``// if a digit occurs more than 1 time ` `                ``// then break ` `                ``if` `(visited[num % ``10``]) ` `                    ``break``; ` `      `  `                ``visited[num%``10``] = ``true``; ` `      `  `                ``num = num/``10``; ` `            ``} ` `      `  `            ``// num will be 0 only when above loop ` `            ``// doesn't get break that means the ` `            ``// number is unique so print it. ` `            ``if` `(num == ``0``) ` `                ``System.out.print(i + ``" "``); ` `        ``} ` `    ``} ` `     `  `    ``// Driver method ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `l = ``1``, r = ``20``; ` `        ``printUnique(l, r); ` `    ``} ` `} `

## Python3

 `# Python3 implementation ` `# to find unique digit ` `# numbers in a range ` ` `  `# Function to print ` `# unique digit numbers ` `# in range from l to r. ` `def` `printUnique(l,r): ` `     `  `    ``# Start traversing ` `    ``# the numbers ` `    ``for` `i ``in` `range` `(l, r ``+` `1``): ` `        ``num ``=` `i; ` `        ``visited ``=` `[``0``,``0``,``0``,``0``,``0``,``0``,``0``,``0``,``0``,``0``]; ` `         `  `        ``# Find digits and ` `        ``# maintain its hash ` `        ``while` `(num): ` `             `  `            ``# if a digit occurs  ` `            ``# more than 1 time  ` `            ``# then break ` `            ``if` `visited[num ``%` `10``] ``=``=` `1``: ` `                ``break``; ` `            ``visited[num ``%` `10``] ``=` `1``; ` `            ``num ``=` `(``int``)(num ``/` `10``); ` `             `  `        ``# num will be 0 only when  ` `        ``# above loop doesn't get  ` `        ``# break that means the  ` `        ``# number is unique so  ` `        ``# print it. ` `        ``if` `num ``=``=` `0``: ` `            ``print``(i, end ``=` `" "``); ` ` `  `# Driver code ` `l ``=` `1``; ` `r ``=` `20``; ` `printUnique(l, r); ` ` `  `# This code is ` `# contributed by mits `

## C#

 `// C# implementation to find unique digit ` `// numbers in a range ` `using` `System; ` `         `  `public` `class` `GFG { ` `     `  `    ``// Method to print unique digit numbers ` `    ``// in range from l to r. ` `    ``static` `void` `printUnique(``int` `l, ``int` `r) ` `    ``{ ` `         `  `        ``// Start traversing the numbers ` `        ``for` `(``int` `i = l ; i <= r ; i++) ` `        ``{ ` `            ``int` `num = i; ` `            ``bool` `[]visited = ``new` `bool``; ` `     `  `            ``// Find digits and maintain ` `            ``// its hash ` `            ``while` `(num != 0) ` `            ``{ ` `                 `  `                ``// if a digit occurs more ` `                ``// than 1 time then break ` `                ``if` `(visited[num % 10]) ` `                    ``break``; ` `     `  `                ``visited[num % 10] = ``true``; ` `     `  `                ``num = num / 10; ` `            ``} ` `     `  `            ``// num will be 0 only when ` `            ``// above loop doesn't get ` `            ``// break that means the number ` `            ``// is unique so print it. ` `            ``if` `(num == 0) ` `                ``Console.Write(i + ``" "``); ` `        ``} ` `    ``} ` `     `  `    ``// Driver method ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `l = 1, r = 20; ` `        ``printUnique(l, r); ` `    ``} ` `} ` ` `  `// This code is contributed by Sam007. `

## PHP

 ` `

Output :

```1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20
```

This article is contributed by Sahil Chhabra. 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.

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

2

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