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

C++で条件演算子またはビット演算子を使用しない場合の最大4つの数値


この問題では、4つの整数が与えられます。私たちのタスクは、C++で条件付き軌道演算子を使用せずに最大4つの数値を見つけるプログラムを作成することです。

コードの説明 −ここでは、4つの整数値があります。また、条件演算子やビット演算子を使用せずに、これらの数値から最大値を見つける必要があります。

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

入力

a = 4, b = 7, c = 1, d = 9

出力

9

ソリューションアプローチ

この問題を解決するために、最初に2つの要素を取得し、次にペアで大きい方の要素を取得します。ペアごとに、2つの要素arr []を作成し、ブール値を使用してどちらの要素が大きいかを見つけます。ブール値はインデックスとして使用され、式 [abs(x --y)+(x --y)]を使用して検出されます。 。

簡単な説明は、

です。

arr[0]がarr[1]より大きい場合、ブール値は False 。それ以外の場合はTrue

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
int findMax(int x, int y){
   int arr[2] = {x,y};
   bool MaxIndex = ( !(arr[0] - arr[1] + abs(arr[0] - arr[1])));
   return arr[MaxIndex];
}
int CalcMaxElement(int a, int b, int c, int d) {
   int max = a;
   max = findMax(max, b);
   max = findMax(max, c);
   max = findMax(max, d);
   return max;
}
int main() {
   int a = 4, b = 9, c = 7, d = 1;
   cout<<"The maximum of four numbers is "<<CalcMaxElement(a,b,c,d);
   return 0;
}

出力

The maximum of four numbers is 9

  1. C ++で再帰またはユークリッドアルゴリズムを使用せずに、2つの数値のHCFを検索します

    ご存知のように、HCFまたはGCDは、ユークリッドの互除法を使用して簡単に計算できます。ただし、ここでは、ユークリッドアルゴリズムや再帰アルゴリズムを使用せずにGCDまたはHCFを生成する方法を説明します。 2つの数値が16と24として存在するとします。これら2つのGCDは8です。 ここでのアプローチは単純です。これら2つの大きい数が小さい方で割り切れる場合、それはHCFです。そうでない場合は、(小さい/ 2)から1まで始まり、現在の要素が両方の数を割る場合、それがHCFです。 例 #include <iostream> using namespace std; int gcd(

  2. C++で++演算子を使用して2つの数値を追加します。

    プログラミングでは、++演算子は、オペランドの値を1ずつ増やすインクリメント演算子です。この演算子を使用して、数値a、bに1を何度も加算することにより、2つの数値を加算できます。 例、 Input: a = 31 , b = 4 Output: 35 説明 − 1を31に4回加算すると、合計は31 + 1 + 1 + 1 + 1=35になります。 アルゴリズム Input: two integers a and b. Step 1: loop from 0 to b and follow step 2. Step 2: add 1 to b. Step 3: print the value