在本教程中,我們將寫一個程序,檢查給定的二進位數是否能被64整除。
我們給了一個二進制數,我們可以刪除一些位元使其能被64整除。在刪除位元之後,若數能被64整除,則印出Yes,否則印出No。
我們將使用的方法非常簡單。讓我們看看解決問題的步驟。
將二進位數以字串格式初始化。
遍歷給定的二進制數。
計算零的數量。
如果二進位數包含大於或等於6個零位,則該數字能被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
如果您在教程中有任何疑問,請在評論部分提及。
以上是在C++程式中,允許移除位元的情況下,判斷一個數是否能被64整除的詳細內容。更多資訊請關注PHP中文網其他相關文章!