กำหนด 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;
}