Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

K'th Boom Number ใน C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมค้นหาหมายเลขบูมที่ k

ตัวเลขที่มีเพียง 2 และ 3 เรียกว่า เบอร์บูม

มาดูขั้นตอนการแก้ปัญหาข้างต้นกัน

  • กำหนดค่าเริ่มต้นของ k.
  • เริ่มต้นคิวของสตริง
  • ดันสตริงว่างไปที่คิว
  • เริ่มต้นตัวแปรตัวนับเป็น 0
  • เขียนลูปที่วนซ้ำจนถึงตัวนับน้อยกว่าหรือเท่ากับ k ที่กำหนด
    • รับหน้าคิว
    • เปิดองค์ประกอบจากคิว
    • เก็บส่วนหน้าของคิวไว้ในตัวแปร
    • กดเลขหลังต่อท้าย 2 ข้างหน้า
    • เพิ่มตัวนับและตรวจสอบว่า k เท่ากับตัวนับหรือไม่
    • ถ้าตัวนับเท่ากับ k ให้พิมพ์ค่าแล้วแตก
    • กดเลขหลังต่อท้าย 3 ข้างหน้า
    • เพิ่มตัวนับและตรวจสอบว่า k เท่ากับตัวนับหรือไม่
    • เพิ่มตัวนับและตรวจสอบว่า k เท่ากับตัวนับหรือไม่

ตัวอย่าง

มาดูโค้ดกันเลย

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

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

23332

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น