在 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