Computer >> Máy Tính >  >> Lập trình >> C ++

K’th Boom Number trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm số bùng nổ thứ k.

Số chỉ chứa 2 và 3 được gọi là số bùng nổ.

Hãy xem các bước để giải quyết vấn đề trên.

  • Khởi tạo giá trị của k.
  • Khởi tạo một hàng đợi các chuỗi.
  • Đẩy chuỗi trống vào hàng đợi.
  • Khởi tạo biến bộ đếm thành 0.
  • Viết một vòng lặp lặp lại cho đến khi bộ đếm nhỏ hơn hoặc bằng k đã cho.
    • Đi trước hàng đợi.
    • Đưa phần tử ra khỏi hàng đợi.
    • Lưu trữ phía trước hàng đợi trong một biến.
    • Đẩy số sau khi thêm 2 vào phía trước.
    • Tăng bộ đếm và kiểm tra xem k có bằng với bộ đếm hay không.
    • Nếu bộ đếm bằng k, thì in giá trị và ngắt.
    • Đẩy số sau khi thêm 3 vào phía trước.
    • Tăng bộ đếm và kiểm tra xem k có bằng với bộ đếm hay không.
    • Tăng bộ đếm và kiểm tra xem k có bằng với bộ đếm hay không.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

23332

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.