Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서도 배열 합계를 만들기 위한 최소 제거

<시간/>

문제 설명

N 정수의 배열 arr[]이 주어집니다. 남은 요소의 합이 짝수가 되도록 배열에서 제거해야 하는 요소의 최소 수를 찾는 프로그램을 작성해야 합니다.

입력 배열이 {10, 20, 30, 5}인 경우 배열 합을 짝수로 만들기 위해 하나의 요소, 즉 5를 제거해야 합니다.

알고리즘

1. 임의의 수의 짝수의 합은 항상 even2입니다. 홀수의 홀수의 합은 항상 odd3입니다. 짝수의 홀수의 합은 항상 even4입니다. 배열의 홀수 요소 수를 계산합니다. 배열의 홀수 요소 수가 짝수이면 배열에서 요소를 제거할 필요가 없지만 배열의 홀수 요소 수가 홀수이면 배열에서 홀수 요소 중 하나를 제거하여 

#include 네임스페이스 std;int getMinRemovals(int *arr, int n) { int cnt =0; for (int i =0; i