在 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
广告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP