# n-th number with digits in {0, 1, 2, 3, 4, 5}

Given a number n and we have to find n-th number such that it’s digits only consist 0, 1, 2, 3, 4 or 5.

Examples:

```Input  : n = 6
Output : 5

Input :  n = 10
Output : 13
```

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

We first store 0, 1, 2, 3, 4, 5 in an array. We can see that next numbers will be 10, 11, 12,,13, 14, 15 and after that numbers will be 20, 21, 23, 24, 25 and so on. We can see the pattern that is repeating again and again. We save the calculated result and use it for further calculations.
next 6 numbers are-
1*10+0 = 10
1*10+1 = 11
1*10+2 = 12
1*10+3 = 13
1*10+4 = 14
1*10+5 = 15

and after that next 6 numbers will be-
2*10+0 = 20
2*10+1 = 21
2*10+2 = 22
2*10+3 = 23
2*10+4 = 24
2*10+5 = 25

We use this pattern to find the n-th number. Below is complete algorithm.

```1) push 0 to 5 in ans vector
2) for i=0 to n
for j=0 to 6

// this will be the case when first
// digit will be zero
if (ans[i]*10! = 0)
ans.push_back(ans[i]*10 + ans[j])

3) print ans[n-1]
```
```// C++ program to find n-th number with digits
// in {0, 1, 2, 3, 4, 5}
#include <bits/stdc++.h>
using namespace std;

// Returns the N-th number with given digits
int findNth(int n)
{
// vector to store results
vector<int> ans;

// push first 6 numbers in the answer
for (int i = 0; i < 6; i++)
ans.push_back(i);

// calculate further results
for (int i = 0; i <= n; i++)
for (int j = 0; j < 6; j++)
if ((ans[i] * 10) != 0)
ans.push_back(ans[i] * 10 + ans[j]);

return ans[n - 1];
}

// Driver code
int main()
{
int n = 10;
cout << findNth(n);
return 0;
}
```

Output:

```13
```

This article is contributed by Niteesh Kumar. 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.

# GATE CS Corner    Company Wise Coding Practice

3.8 Average Difficulty : 3.8/5.0
Based on 6 vote(s)