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

Pythonで特定の位置のビットが設定されているかどうかを確認します


数値nと別の値kがあるとします。 nのk番目のビットが設定されているか(1)、設定されていないか(0)を確認する必要があります。 kの値は右側から考慮されます。

したがって、入力がn =18 k =2の場合、出力は18のバイナリ形式として設定されます。18は10010であるため、最後から2番目のビットは1(設定)です。

これを解決するには、次の手順に従います-

  • ビット(k-1)回右にシフトした後のtemp:=n
  • temp AND 1が1の場合、
    • 「設定」を返す
  • 「未設定」を返す

理解を深めるために、次の実装を見てみましょう-

サンプルコード

def solve(n,k):
   temp = n >> (k - 1)
   if temp & 1:
      return "Set"
   return "Unset"

n = 18
k = 2
print(solve(n, k))
>

入力

18

出力

Set

  1. 与えられたグラフがPythonで2部グラフであるかどうかをチェックするプログラム

    無向グラフが1つあるとすると、グラフが2部グラフであるかどうかを確認する必要があります。グラフのすべてのエッジ{u、v}がAに1つのノードuを持ち、Bに別のノードvを持つように、グラフのノードを2つのセットAとBに分割できる場合、グラフは2部グラフであることがわかります。 したがって、入力が次のような場合 次に、出力はTrueになり、[0,4]はセットAにあり、[1,2,3]はセットBにあり、すべてのエッジはAからAまたはBからBではなく、AからBまたはBからAになります。 。 これを解決するために、次の手順に従います- 関数dfs()を定義します。これはソースを取ります

  2. 指定された文字列がパングラムであるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram