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

C++에서 숨겨진 숫자를 찾는 프로그램

<시간/>

이 문제에서 우리는 n개의 정수 값으로 구성된 배열 arr[]입니다. 우리의 임무는 C++에서 숨겨진 숫자를 찾는 프로그램을 만드는 것입니다. .

코드 설명 − 배열의 경우 숨겨진 숫자는 배열의 각 요소에서 빼면 합이 0이 되는 숫자입니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력

arr[] = {4, 1, 6, 7, 2}

출력

4

배열의 모든 요소에서 4를 뺍니다. 가치 추가

= (1 - 4) + (6 - 4) + (7 - 4) + (4 - 2)
= -3 + 2 + 3 - 2 = 0

솔루션 접근 방식

문제를 해결하려면 배열의 모든 요소의 합을 계산해야 합니다. 그런 다음 합계를 배열의 전체 요소 수로 나눕니다. sum / (요소 수)의 값이 정수이면 숨겨진 숫자입니다.

우리 솔루션의 작동을 설명하는 프로그램

예시

#include <iostream>
using namespace std;
int calcHiddenNumber(int arr[], int n){
   long int sum = 0;
   for(int i = 0; i < n; i++){
      sum = sum + arr[i];
   }
   int hidNum = (sum / n);
   if((hidNum * n) == sum )
      return hidNum;
   else
      return -1;
}
int main() {
   int n = 4;
   int arr[] = { 4, 11, 12, 21 };
   cout<<"The hidden number for the array is "<<calcHiddenNumber(arr, n);
   return 0;
}

출력

The hidden number for the array is 12