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

Thêm số nhỏ nhất vào mảng để tổng thành chẵn


Cho mảng, thêm số nhỏ nhất (>0) để tổng mảng thành chẵn.

Input: 1 2 3 4, Output: 2

Tổng = 10 (chẵn), thêm 2 để tổng vẫn chẵn (12).

Phương pháp 1: Tính tổng, nếu chẵn trả 2, lẻ trả 1.

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int arr[] = { 1, 2, 3, 4};
    int n=4;
    int sum=0;
    for (int i = 0; i <n; i++) {
        sum+=arr[i];
    }
    if (sum % 2==0) {
        cout <<"2";
    } else {
        cout <<"1";
    }
    return 0;
}

Phương pháp 2: Đếm số phần tử lẻ. Nếu số lượng lẻ là chẵn trả 2, lẻ trả 1.

Input: 1 2 3 4 5 Output: 1

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int arr[] = { 1, 2, 3, 4,5};
    int n=5;
    int odd = 0;
    for (int i = 0; i < n; i++) {
        if (arr[i] % 2!=0) {
            odd += 1;
        }
    }
    if (odd % 2==0) {
        cout <<"2";
    } else {
        cout <<"1";
    }
    return 0;
}

Phương pháp 3: Dùng cờ boolean (khởi tạo 0). Gặp phần tử lẻ, đảo cờ (!odd). Cuối cùng: cờ=1 -> thêm 1, cờ=0 -> thêm 2.

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int arr[] = { 1, 2, 3, 4,5};
    int n=5;
    bool odd = 0;
    for (int i = 0; i < n; i++) {
        if (arr[i] % 2!=0) {
            odd = !odd;
        }
    }
    if (odd) {
        cout <<"1";
    } else {
        cout <<"2";
    }
    return 0;
}