Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

เพิ่มตัวเลขน้อยที่สุดใน Array ให้ผลรวมเป็นเลขคู่ (C Programming)


กำหนด Array ให้เพิ่มตัวเลขน้อยที่สุด (>0) เข้าไปใน Array เพื่อให้ผลรวมของ Array กลายเป็นเลขคู่

Input - 1 2 3 4 Output - 2

คำอธิบาย - ผลรวม = 10 (คู่แล้ว) เพิ่ม 2 เพื่อให้ยังคงคู่

วิธี 1: คำนวณผลรวม ถ้าคู่ -> เพิ่ม 2, ถ้าคี่ -> เพิ่ม 1

ตัวอย่าง

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

วิธี 2: นับจำนวนสมาชิกคี่ ใน Array ถ้าจำนวนคี่เป็นเลขคู่ -> เพิ่ม 2, ถ้าเป็นเลขคี่ -> เพิ่ม 1

Input - 1 2 3 4 5 Output - 1

คำอธิบาย - มีเลขคี่ 3 ตัว (คี่) เพิ่ม 1 ทำให้ผลรวมคู่

ตัวอย่าง

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

วิธี 3: ใช้ Flag Boolean (เริ่ม 0) ทุกครั้งเจอเลขคี่ ทำ NOT (!) ถ้าสุดท้าย Flag=1 (คี่) -> เพิ่ม 1, Flag=0 (คู่) -> เพิ่ม 2

ตัวอย่าง

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