在 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
广告