Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Số Boom K-th trong C++

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

Số chỉ chứa chữ số 2 và 3 được gọi là số Boom.

Các bước giải quyết

  • Khởi tạo giá trị K.
  • Khởi tạo queue chuỗi.
  • Đẩy chuỗi rỗng vào queue.
  • Khởi tạo biến đếm = 0.
  • Viết vòng lặp cho đến khi counter > K:
    • Lấy front của queue.
    • Pop phần tử.
    • Lưu front vào biến tạm.
    • Push chuỗi + '2'.
    • Tăng counter, kiểm tra bằng K.
    • Nếu bằng K, in kết quả và break.
    • Push chuỗi + '3'.
    • Tăng counter, kiểm tra bằng K.

Ví dụ

Dưới đây là mã nguồn C++:

#include <bits/stdc++.h> 
using namespace std; 

void findKthBoomNumber(long long k) { 
    queue<string> q; 
    q.push(""); 
    long long count = 0; 
    while (count <= k) { 
        string numberOne = q.front(); 
        q.pop(); 
        string numberTwo = numberOne; 
        q.push(numberOne.append("2")); 
        count++; 
        if (count == k) { 
            cout << numberOne << endl; 
            break; 
        } 
        q.push(numberTwo.append("3")); 
        count++; 
        if (count == k) { 
            cout << numberTwo << endl; 
            break; 
        } 
    } 
} 

int main() { 
    long long k = 45; 
    findKthBoomNumber(k); 
    return 0; 
}

Kết quả

Nếu bạn chạy mã trên, kết quả sẽ là:

23332

Kết luận

Nếu bạn có bất kỳ thắc mắc nào về hướng dẫn này, hãy để lại bình luận bên dưới.