Giả sử có một mảng với một số số. Chúng ta phải cho biết tối thiểu có bao nhiêu số sẽ được thêm vào với nó để làm cho tổng của các phần tử là chẵn. Số phải lớn hơn 0. Vì vậy, nếu tổng của các phần tử là lẻ, chúng ta sẽ thêm 1, nhưng nếu tổng đã là chẵn, thì chúng ta sẽ cộng 2 với nó để làm cho nó chẵn.
Thuật toán
addMinNumber (arr)
begin s := 0 for each element e from arr, do s := e + s done if s is even, then return 2, otherwise 1 end
Ví dụ
#include<iostream> using namespace std; int addMinNumber(int arr[], int n) { int sum = 0; for(int i = 0; i<n; i++) { sum += arr[i]; } return (sum % 2)? 1 : 2; } main() { int arr[] = {5, 8, 4, 7, 5}; int n = sizeof(arr)/sizeof(arr[0]); cout << "Minimum " << addMinNumber(arr, n) << " should be added"; }
Đầu ra
Minimum 1 should be added