在 C++ 中快速計算兩個數的平均值,無需除法
本題中,給出兩個數 A 和 B。我們的任務是建立一個程式來計算無須除法的兩個數的快速平均值.
讓我們舉個例子來理解這個問題,
輸入: A = 34 B = 54
輸出: 44
解題思路:
通常,平均值是透過將兩個數相加再除以 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
廣告