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

C++で除算しない2つの数値の高速平均


この問題では、2つの数値AとBが与えられます。私たちのタスクは、除算なしで2つの数値の高速平均を計算するプログラムを作成することです。

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

入力: A =34 B =54

出力: 44

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

通常、平均は2つの数値を加算し、それを2で割って計算されます。これには除算が必要ですが、除算を使用せずに平均を見つける必要があります。これは、右シフト演算子>>を使用して実行でき、除算演算子を使用する代わりにバイナリ展開をシフトします。

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

#include <iostream>
#include <stdio.h>
using namespace std;

int calcAvgWODiv(int A, int B) {
   int average = (A + B) >> 1;
   return average;
}

int main() {
   int A = 123 , B = 653;
   cout<<"The average of the number is "<<calcAvgWODiv(A, B);
   return 0;
}

出力-

The average of the number is 388

  1. 2つの数値を交換するC++プログラム

    2つの数値を交換するプログラムを作成する方法は2つあります。 1つは一時変数を使用することを含み、2番目の方法は3番目の変数を使用しません。これらは次のように詳細に説明されています- 一時変数を使用して2つの数値を交換するプログラム 一時変数を使用して2つの数値を交換するプログラムは次のとおりです。 例 #include <iostream > using namespace std; int main() {    int a = 10, b = 5, temp;    temp = a;    a = b; &nbs

  2. 2つの数値を追加するC++プログラム

    加算は基本的な算術演算です。 2つの数値を加算するプログラムは、2つの数値の加算を実行し、それらの合計を画面に出力します。 2つの数字の加算を示すプログラムは次のとおりです- 例 #include <iostream> using namespace std; int main() {    int num1=15 ,num2=10, sum;    sum = num1 + num2;    cout<<"Sum of "<<num1<<" and &q