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

Pythonで数値の1つが他の数値の補数であるかどうかを確認します


xとyの2つの数があるとします。これらの2つの数値の一方が他方の1の補数であるかどうかを確認する必要があります。 2進数の1の補数が、すべてのビットを0から1または1から0に反転していることは誰もが知っています。

したがって、入力がx =9、y =6の場合、バイナリ表現は互いに補完的なx=1001およびy=0110であるため、出力はTrueになります。

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

  • z =x XOR y
  • zのすべてのビットが設定されている場合はtrueを返し、それ以外の場合はfalseを返します

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

def all_one(n):
   if n == 0:
      return False;
   if ((n + 1) & n) == 0:
      return True
   return False
def solve(x, y):
   return all_one(x ^ y)
x = 9
y = 6
print(solve(x, y))

入力

9, 6

出力

True

  1. Pythonで1つのツリーが他のツリーのサブツリーであるかどうかを確認するプログラム

    2つの二分木があるとします。 2番目のツリーが最初のツリーのサブツリーであるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これはルート、ターゲットになります ルートがnullで、ターゲットもnullの場合、 Trueを返す ルートがnullまたはターゲットがnullの場合、 Falseを返す ルートの値がターゲットの値と同じである場合、 戻り値solve(ルートの左、ターゲットの左)とsolve(ル

  2. パスワードの有効性をチェックするPythonプログラム?

    ここでパスワードを指定すると、このパスワードが有効かどうかを確認することがタスクになります。ここでは、正規表現を提供するreモジュールを使用し、re.search()を使用して、アルファベット、数字、または特殊文字の検証をチェックします。 アルゴリズム Step 1: first we take an alphanumeric string as a password. Step 2: first check that this string should minimum 8 characters. Step 3: the alphabets must be between a-z. Ste