Computer >> Máy Tính >  >> Lập trình >> C ++

Trung bình nhanh của hai số không có phép chia trong C ++

Trong bài toán này, chúng ta được cho hai số A và B. Nhiệm vụ của chúng ta là tạo một chương trình để tính toán Trung bình nhanh của hai số mà không cần chia.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào: A =34 B =54

Đầu ra: 44

Phương pháp tiếp cận giải pháp:

Thông thường, giá trị trung bình được tính bằng cách cộng hai số rồi chia cho 2. Điều này yêu cầu phép chia nhưng chúng ta cần tìm số trung bình mà không cần dùng phép chia. Điều này có thể được thực hiện bằng cách sử dụng toán tử dịch phải>> và dịch chuyển mở rộng nhị phân thay vì sử dụng toán tử chia.

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#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;
}

Đầu ra -

The average of the number is 388