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

C++의 주어진 배열에서 짝수 및 홀수 요소 누락

<시간/>

문제 설명

각 배열에서 하나의 요소가 누락된 연속 짝수 및 홀수 요소를 각각 포함하는 두 개의 정수 배열 짝수 [] 및 홀수 []가 주어집니다. 과제는 누락된 요소를 찾는 것입니다.

짝수[] ={10, 8, 6, 16, 12} andodd[] ={3, 9, 13, 7, 11}이면 짝수 배열에서 누락된 숫자는 14이고 홀수 배열에서 누락된 숫자는 5입니다. 

알고리즘

  • even[] 배열의 최소 및 최대 짝수 요소를 변수 minEven 및 maxEven에 저장
  • 처음 N개의 짝수의 합은 N * (N + 1)입니다. 2에서 minEven까지의 짝수의 합을 계산하고 sum1이라고 말하고 2부터 maxEven까지의 짝수의 합을 계산합니다.
  • 짝수 배열의 필요한 합계는 reqSum =sum2 – sum1 + minEven이 됩니다. 이 reqSum에서 even[] 배열 합계를 빼면 누락된 짝수가 나옵니다.
  • 마찬가지로 누락된 홀수는 처음 N개의 홀수의 합이 N2라는 것을 알기 때문에 찾을 수 있습니다.

#include 네임스페이스 std;void findMissingNums(int even[], int sizeEven, int odd[], int sizeOdd) { int minEven =INT_MAX; 정수 maxEven =INT_MIN; 정수 minOdd =INT_MAX; 정수 maxOdd =INT_MIN; 정수 sumEvenArr =0, sumOddArr =0; for (int i =0; i  

위의 프로그램을 컴파일하고 실행할 때. 다음 출력을 생성합니다 -

출력

짝수 누락 =14홀수 누락 =5