# K’th Boom Number in C++

C++Server Side ProgrammingProgramming

In this tutorial, we are going to write a program that finds the k-th boom number.

The number that contains only 2 and 3 are called boom number.

Let's see the steps to solve the above problem.

• Initialise the value of k.
• Initialise a queue of strings.
• Push the empty string to the queue.
• Initialise a counter variable to 0.
• Write a loop that iterates till counter is less than or equal to the given k.
• Get the front of the queue.
• Pop the element from the queue.
• Store the front of the queue in a variable.
• Push the number after appending 2 to the front.
• Increment the counter and check whether k is equal to counter or not.
• If the counter is equal to k, then print the value and break.
• Push the number after appending 3 to the front.
• Increment the counter and check whether k is equal to counter or not.
• Increment the counter and check whether k is equal to counter or not.

## Example

Let's see the code.

Live Demo

#include<bits/stdc++.h>
using namespace std;
void findKthBoomNumber(long long k) {
queue<string> queue;
queue.push("");
long long count = 0;
while (count <= k) {
string numberOne = queue.front();
queue.pop();
string numberTwo = numberOne;
queue.push(numberOne.append("2"));
count++;
if (count == k) {
cout << numberOne << endl;
break;
}
queue.push(numberTwo.append("3"));
count++;
if (count == k) {
cout << numberTwo << endl;
break;
}
}
}
int main() {
long long k = 45;
findKthBoomNumber(k);
return 0;
}

## Output

If you run the above code, then you will get the following result.

23332

## Conclusion

If you have any queries in the tutorial, mention them in the comment section.