 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
n-th number with digits in {0, 1, 2, 3, 4, 5} in C++
The numbers formed with the digits {0, 1, 2, 3, 4, 5} are
0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, etc..,
We can form the above sequence using the first 6 digits. Let's see an example of the formation of numbers.
1 * 10 + 0 = 10 1 * 10 + 1 = 11 1 * 10 + 2 = 12 1 * 10 + 3 = 13 1 * 10 + 4 = 14 1 * 10 + 5 = 15
Similarly, apply for the number 2, 3, 4, 5. You will get the next 6 numbers with 2 using the above pattern. And then 3 after that 4 and 5.
Algorithm
- Initialise the number n.
- Initialise a vector.
- Write a loop that iterates from 0 to 5.- Push all the numbers to vector.
 
- We have first six numbers of the series.
- Write a loop that iterates from 0 to n / 6.- Write a loop that iterates from 0 to 5.- Generate remaining numbers with the above discussed pattern.
- Push them to the vector.
 
 
- Write a loop that iterates from 0 to 5.
- Return the n-th number from the sequence.
Implementation
Following is the implementation of the above algorithm in C++
#include <bits/stdc++.h> using namespace std; int findNthNumber(int n) {    vector<int> numbers;    for (int i = 0; i < 6; i++) {       numbers.push_back(i);    }    for (int i = 0; i <= n / 6; i++) {       for (int j = 0; j < 6; j++) {          if ((numbers[i] * 10) != 0) {             numbers.push_back(numbers[i] * 10 + numbers[j]);          }       }    }    return numbers[n - 1]; } int main() {    int n = 7;    cout << findNthNumber(n) << endl;    return 0; } Output
If you run the above code, then you will get the following result.
10
Advertisements
 