Python
 Computer >> コンピューター >  >> プログラミング >> Python

整数のセットビットをカウントするPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 −整数nが与えられているので、数値の2進表現で1の数を数える必要があります

次に、以下の実装のソリューションを見てみましょう-

#naiveアプローチ

# count the bits
def count(n):
   count = 0
   while (n):
      count += n & 1
      n >>= 1
   return count
# main
n = 15
print("The number of bits :",count(n))

出力

The number of bits : 4

#recursiveapproach

# recursive way
def count( n):
   # base case
   if (n == 0):
      return 0
   else:
      # whether last bit is set or not
      return (n & 1) + count(n >> 1)
# main
n = 15
print("The number of bits :",count(n))

出力

The number of bits : 4

結論

この記事では、整数のセットビットをカウントするPythonプログラムを作成する方法について学びました。


  1. 配列内の反転をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):  

  2. 数値の合計ビットをカウントするPythonプログラムを作成しますか?

    最初に数値を入力し、bin()関数を使用してこの数値をバイナリに変換し、次に出力文字列の最初の2文字「0b」を削除し、次にバイナリ文字列の長さを計算します。 例 Input:200 Output:8 説明 Binary representation of 200 is 10010000 アルゴリズム Step 1: input number. Step 2: convert number into its binary using bin() function. Step 3: remove first two characters ‘0b’ of output binary st