このチュートリアルでは、指定された 2 進数が 64 で割り切れるかどうかを確認するプログラムを作成します。
2 進数が与えられているので、いくつかのビットを削除して 64 で割り切れるようにすることができます。数字を削除した後、数値が 64 で割り切れる場合は Yes が出力され、それ以外の場合は No が出力されます。
今回使用する方法は非常に簡単です。問題を解決する手順を見てみましょう。
2 進数を文字列形式で初期化します。
指定された 2 進数をトラバースします。
ゼロの数を数えます。
2 進数に 6 個以上のゼロ ビットが含まれる場合、その数値は 64 で割り切れます。
指定された 2 進数が 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 中国語 Web サイトの他の関連記事を参照してください。