允許移除位的情況下C++程式判斷是否能被64整除


在本教程中,我們將編寫一個程式來檢查給定的二進位制數是否能被64整除。

我們給定一個二進位制數,我們可以移除一些位使其能被64整除。移除位後,如果該數能被64整除,則列印**是**,否則列印**否**。

我們將使用的方法非常簡單。讓我們看看解決問題的步驟。

  • 以字串格式初始化二進位制數。

  • 遍歷給定的二進位制數。

  • 計算零的個數。

  • 如果二進位制數包含大於等於6個零並且至少有1位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

結論

如果您在本教程中有任何疑問,請在評論區提出。

更新於:2021年1月28日

瀏覽量:153

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.