Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm giá trị cần thêm để mảng cân bằng trong C++

Cho mảng kích thước chẵn n. Chia làm 2 nửa. Tìm giá trị cần thêm vào một nửa để tổng hai nửa bằng nhau. Ví dụ: [1,2,3,2,5,3] → tổng nửa trái=6, nửa phải=10 → cần thêm 4.

Tính tổng hai nửa, trả về hiệu tuyệt đối.

Ví dụ

#include <iostream>
#include <cmath>
using namespace std;

int getValueToBalance(int a[], int n) {
    int left_sum = 0;
    for (int i = 0; i < n/2; i++) left_sum += a[i];
    int right_sum = 0;
    for (int i = n/2; i < n; i++) right_sum += a[i];
    return abs(left_sum - right_sum);
}

int main() {
    int arr[] = {1, 2, 3, 2, 5, 3};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "The number for balancing: " << getValueToBalance(arr, n);
}

Kết quả

The number for balancing: 4