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

C++で可能な2つの値から変数に他の値を割り当てます


問題の説明

条件演算子を使用せずに、2つの可能な値から他の変数の値を変数に割り当てる必要があります。

説明

この問題では、2つの変数xとyのいずれかの値を持つことができる変数が与えられます。ここで、条件演算子を使用せずに、現在の値以外の値を割り当てるプログラムを作成する必要があります。つまり、xの値を確認することはできません。

問題をよりよく理解するために例を見てみましょう-

Input : a = 43 ; x = 43 and y = 21
Output : 21

説明 − aの初期値は43であるため、他の値、つまり21をaの最終値として返す必要があります。

値をチェックすることは許可されていないため、つまり、コード内での任意の種類の条件ステートメントの使用は無効です。したがって、変数のスワップ値に対する代替ソリューションを確認する必要があります。このために、複数の解決策が存在する可能性がありますが、ここで一度最も実現可能で簡単なことを議論しています-

算術演算子の使用

値を交換する簡単な方法の1つは、2つの値の加算/乗算を使用し、それぞれの反対の演算に対して減算/除算を行うことです。つまり、加算を行った場合は減算し、乗算を使用した場合は除算します。

したがって、式は次のようになります-

a =x+y-aまたはa=x * y / a

ただし、ここでは、乗算と除算の操作にコストがかかり、エラーが発生する場合があります。そのため、これには足し算と引き算の組み合わせを使用しました。

#include <iostream>
using namespace std;
int main(){
   int x = 45;
   int y = 5;
   int a = x;
   cout<<"Initial value of a is : "<<a;
   a = x+y - a;
   cout<<"\nAfter changing the value of a is : "<<a;
}

出力

Initial value of a is : 45
After changing the value of a is : 5

ビット単位のXOR演算子の使用

より効果的な方法は、ビット単位のXOR演算子を使用することです。

したがって、値は次のように変更されます-

a =x ^ y ^ a;

#include <iostream>
using namespace std;
int main(){
   int x = 56;
   int y = 78;
   int a = x;
   cout<<"Initial value of a is : "<< a;
   a = x^y^a;
   cout<<"\nAfter changing the value of a is "<<a;
   return 0;
}

出力

Initial value of a is : 56
After changing the value of a is 78

  1. 合計がC++の指定された値xに等しい2つのBSTからペアをカウントします

    入力として2つの二分探索木と変数xが与えられます。目標は、ノードの値の合計がxに等しくなるように、各ツリーからノードのペアを見つけることです。 BST_1からノード1を取得し、BST_2からノード2を取得して、両方のデータ部分を追加します。 sum=xの場合。インクリメントカウント。 例を挙げて理解しましょう。 入力 出力 −合計が特定の値xに等しい2つのBSTからのペアの数は− 1 説明 −ペアは(8,6) 入力 出力 −合計が特定の値xに等しい2つのBSTからのペアの数は− 2 説明 −ペアは(5,15)と(4,16) 以下のプログラムで使用されているアプ

  2. Pythonで変数に値を割り当てる方法

    変数の割り当ては、どのコンピュータープログラミング言語でも非常に基本的な要件です。 Pythonでは、変数を宣言してそれに値を割り当てることができる複数の方法があります。以下にそれぞれを示します。 直接初期化 このメソッドでは、変数を直接宣言し、=記号を使用して値を割り当てます。変数が複数回宣言されている場合、最後の宣言の値がプログラムによって使用されます。 例 x = 5 x = 9 print(a) 上記のコードを実行すると、次の結果が得られます。 出力 9 if-elseの使用 いくつかの条件を使用して、変数の値を初期化できます。条件の結果の評価が変数の値になります。 例 x =