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

หารด้วย 64 พร้อมการลบบิตที่อนุญาตใน C++ Program


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ตรวจสอบว่าเลขฐานสองที่ให้มานั้นหารด้วย 64 ลงตัวหรือไม่

เราได้ให้เลขฐานสองและเราสามารถเอาบิตออกเพื่อให้หารด้วย 64 ลงตัว หลังจากลบบิตแล้ว หากตัวเลขนั้นหารด้วย 64 ลงตัว ให้พิมพ์ ใช่ อย่างอื่น ไม่ .

วิธีการที่เราจะใช้นั้นง่ายมาก มาดูขั้นตอนการแก้ปัญหากัน

  • เริ่มต้นเลขฐานสองในรูปแบบสตริง

  • วนซ้ำเลขฐานสองที่กำหนด

  • นับจำนวนศูนย์

  • หากเลขฐานสองมีค่ามากกว่าหรือเท่ากับ 6 และมี 1 บิต ตัวเลขนั้นจะถูกหารด้วย 64 ลงตัว

  • พิมพ์ว่าเลขฐานสองที่ให้มานั้นหารด้วย 64 ลงตัวหรือไม่

ตัวอย่าง

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

#include <bits/stdc++.h>
using namespace std;
bool isBinaryStringDivisibleBy64(string binary_number, int n) {
   int zeroes_count = 0;
   for (int i = n - 1; i >= 0; i--) {
      if (binary_number[i] == '0') {
         zeroes_count++;
      }
      if (zeroes_count >= 6 && binary_number[i] == '1') {
         return true;
      }
   }
   return false;
}
int main() {
   string binary_string = "100100100100100";
   if (isBinaryStringDivisibleBy64(binary_string, 15)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}

ผลลัพธ์

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

Yes

บทสรุป

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